使用 HttpWebRequest,将文件上传到 SharePoint 时,WebResponse 是未编译的 aspx 页面
Posted
技术标签:
【中文标题】使用 HttpWebRequest,将文件上传到 SharePoint 时,WebResponse 是未编译的 aspx 页面【英文标题】:Using HttpWebRequest, WebResponse is uncompiled aspx page when uploading file to SharePoint 【发布时间】:2012-02-11 11:55:18 【问题描述】:这是一个奇怪的问题。多年来,将文件上传到 SharePoint 的一些代码一直在我的开发机器上运行。前几天它刚刚停止工作!没有抛出异常,但是 WebResponse 中返回了一个奇怪的响应字符串。代码如下:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(absoluteUrl);
if (this._authenticationService == null)
// Windows authentication
request.Credentials = _credentials;
else
// Forms authentication
request.CookieContainer = this._authenticationService.CookieContainer;
request.Method = "PUT";
byte[] buffer = new byte[4 * 1024];
using (Stream stream = request.GetRequestStream())
using (FileStream fs = File.OpenRead(localFilePath))
for (int i = fs.Read(buffer, 0, buffer.Length); i > 0; i = fs.Read(buffer, 0, buffer.Length))
stream.Write(buffer, 0, i);
WebResponse response = request.GetResponse();
response.Close();
如果我像这样添加一些代码来检查实际响应:
StreamReader responseReader = new StreamReader(response.GetResponseStream());
responseReader.ReadToEnd();
该代码的输出是这样的,一个看似未编译的 aspx 页面!!!:
\ r\n \r\n\r\ n\t\" EncodeMethod='htmlEncode'/>\r\n\r\n\r\n\t\" EncodeMethod='HtmlEncode'/>\r\n\r\n\r\n\t\ r\n\t\r\n\r\n\r\n \r\n\t\r\n\t\r\n\t \r\n\t\t \r\n\t \ r\n\t
\r\n\t\t\r\n\t\t\t\ t\" EncodeMethod=\"NoEncode\" runat=\"server\"> \" EncodeMethod='HtmlEncode'/> \r\n\t\t\r\n\t\t \t\t\" EncodeMethod=\"NoEncode\" runat=\"server\"
\" EncodeMethod='HtmlEncode'/> \r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n \ r\n\r\n\t var gearPage = document.getElementById('GearPage');\r\n\t if(null != gearPage)\r\n\t \r\n\t\t gearPage .parentNode.removeChild(gearPage);\r\n\t\t document.title = \"' EncodeMethod='HtmlEncode'/>\";\r\n\t \r\n\r\n
发生了什么?!?!
【问题讨论】:
【参考方案1】:好的,我放弃并卸载并重新安装了带有 SP2 的 WSS,以及最新的累积更新包,并重新连接到现有的场,这样就解决了这个问题!
【讨论】:
以上是关于使用 HttpWebRequest,将文件上传到 SharePoint 时,WebResponse 是未编译的 aspx 页面的主要内容,如果未能解决你的问题,请参考以下文章
转asp.net(c#)使用HttpWebRequest附加携带请求参数以post方式模拟上传大文件(以图片为例)到Web服务器端