【发布时间】:2010-10-15 15:59:33
【问题描述】:
我有一个托管一些文件的共享点服务器。
我有一些 .Net 代码创建一个 WebRequest 来获取一些文件。这是正常工作。
当我尝试使用类似的代码在同一位置放置文件时,我得到:
System.Net.WebException: The remote server returned an error: (405) Method Not Allowed on my request.GetResponse();
我没有收到任何 InnerExceptions。
这是我的代码:
var requestPath = Path.Combine(serverBasePath, library.GetLibraryPath(), Path.GetFileName(filePath));
var request = WebRequest.Create(requestPath);
request.Credentials = CredentialCache.DefaultNetworkCredentials;
request.Method = "PUT";
var buffer = new byte[1024];
using (var requestStream = request.GetRequestStream())
using (var fileStream = new FileStream(filePath, FileMode.Open))
for (int i = fileStream.Read(buffer, 0, buffer.Length); i > 0; i = fileStream.Read(buffer, 0, buffer.Length))
requestStream.Write(buffer, 0, i);
using (request.GetResponse()) { }
return requestPath;
使用相同的代码(将 PUT 替换为 GET 并将文件路径更改为现有文件)有效。
通过 Sharepoint Web 界面,我可以上传新文件。我还尝试更改参数中的授权,以将所有经过身份验证的用户的完全控制放在此目录上。
【问题讨论】:
标签: c# .net sharepoint