2012-12-11 37 views
0

我嘗試從本地SharePoint網站獲取圖像時收到401消息。 嘗試了許多憑據設置,但它們都返回相同的401錯誤。檢索SharePoint的圖像 - 401錯誤

var SharePointURL = "http://SharePointServer/Site/ImageFolder/image1.jpg"; 
System.Net.WebRequest req = System.Net.WebRequest.Create(SharePointURL); 
req.Credentials = System.Net.CredentialCache.DefaultCredentials; 
req.UseDefaultCredentials = true;    
System.Net.WebResponse response = req.GetResponse(); 
Stream stream = response.GetResponseStream(); 
System.Drawing.Image img = System.Drawing.Image.FromStream(stream); 
stream.Close(); 

任何幫助,將不勝感激。

+0

401錯誤是與SharePoint常見。但是401.1,401.2,401.3可以有不同的含義。看一下IIS日誌,看看究竟是什麼http狀態碼,特別是子狀態碼(subatus不發送給客戶端,IIS日誌是唯一可以找到這些信息的地方)。 –

+0

謝謝,我看了一下IIS日誌,甚至找不到在我的請求中使用的服務器名稱? – netDeveloperUK

回答

0

我不知道爲什麼發生這種情況,但我可以告訴你,你可以做什麼,找出自己:

假設你在不同的機器上運行你的代碼,您正在運行SharePoint中的一個您需要在您的機器上安裝Fiddler。獲取該代碼以攔截來自您的代碼的請求以及來自瀏覽器的相同請求。您應該能夠看到請求之間的差異,這將有助於指導您瞭解問題的原因。您也可以使用Fiddler來嘗試更改參數,以便您可以通過他們的存在或缺失來查看哪些標題導致問題。

如果您的代碼與您的瀏覽器發出的請求完全相同,您將得到完全相同的響應。

如果你發現自己畢竟仍然百思不得其解,你可知道,擁有的SharePoint its own Stack Exchange.

+0

謝謝,不知道SharePoint有自己的SE。關於Fiddler - 我不能在域中的任何機器上安裝它。 – netDeveloperUK

+0

如果您有用於記錄網絡活動的FireFox開發人員擴展,它可以爲您提供成功請求的圖片,但以這種方式進行比較會更困難。我也將盡可能地查看服務器上的IIS和SharePoint日誌,以瞭解可以收集多少信息。 – glenatron

+0

我現在已經設法在服務器上安裝Fiddler,但它不顯示從Web應用程序到SharePoint的請求。它只顯示客戶端對Web應用程序的請求? – netDeveloperUK