我有这段代码,但是我收到了标题中描述的错误: “远程服务器返回错误:(405)方法不允许。”
**我现在用POST取代了PUT **
如果我用“POST”替换“PUT”它似乎工作,因为我没有收到错误,但它不上传任何文件。 我正在尝试将文件上传到sharepoint中的文档库(Office 365)
public static void UploadTest()
{
WebClient w = new WebClient();
w.Credentials = new NetworkCredential("username", "password");
var ua = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
w.Headers["Accept"] = "/";
w.Headers.Add(HttpRequestHeader.UserAgent, ua);
byte[] bFile = System.IO.File.ReadAllBytes(@"C:\t.txt");
string ulr = @"http://www.website.com/uploadfolder/";
System.Uri oUri = new System.Uri(ulr);
try
{
w.UploadData(oUri, "POST", bFile);
w.UploadDataCompleted += new UploadDataCompletedEventHandler(oWebClient_UploadDataCompleted);
Console.WriteLine("Uri:" + oUri);
}
catch (Exception ex)
{
throw ex;
}
finally
{
Console.ReadLine();
}
}
答案 0 :(得分:0)
使用凭据进行访问和登录时出现问题。 当我尝试连接时似乎出错了,因为我可以在删除w.Credentials = new NetworkCredential(用户,传递)时下载损坏的文件;
我现在正在尝试全新的方式,感谢您的回复。