2012-12-11 39 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