C# 文件上载时发生未经授权的错误
我有一个asp.net应用程序,可以将文件提交到sharepoint文档库。 每次它试图提交,我都会得到一个 远程服务器返回错误:(401)未经授权 这是c代码 这在我的本地机器上运行良好,但当我将其部署到测试环境时,会引发401错误。IIS配置为匿名身份验证。我想这与文件上传有关?任何见解或想法都将受到赞赏C# 文件上载时发生未经授权的错误,c#,asp.net,file,httpwebrequest,C#,Asp.net,File,Httpwebrequest,我有一个asp.net应用程序,可以将文件提交到sharepoint文档库。 每次它试图提交,我都会得到一个 远程服务器返回错误:(401)未经授权 这是c代码 这在我的本地机器上运行良好,但当我将其部署到测试环境时,会引发401错误。IIS配置为匿名身份验证。我想这与文件上传有关?任何见解或想法都将受到赞赏 谢谢您应该向应用程序池用户帐户授予“写入文件夹”权限。您已经启用了匿名身份验证,该身份验证按预期工作,但您尝试执行的操作可能未经授权。这可能会有所帮助——但这是否只与web api有关?我
谢谢您应该向应用程序池用户帐户授予“写入文件夹”权限。您已经启用了匿名身份验证,该身份验证按预期工作,但您尝试执行的操作可能未经授权。这可能会有所帮助——但这是否只与web api有关?我不是真的在用MVC。这只是在一个按钮上调用clickNot sure mate,只是想强调授权和身份验证是两个独立的东西。它可能与文件夹权限有关。检查答案,因为它可能会有帮助(特别是子代码和权限)。我已经尝试过了。服务帐户对文档库具有完全控制权
byte[] buffer = new byte[length];
postedFile.InputStream.Read(buffer, 0, length);
Uri address = new Uri(url);
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;
request.Method = "POST";
request.UseDefaultCredentials = true;
request.Accept = "application/json;odata=verbose";
request.Headers.Add("X-RequestDigest", dvalue);
request.ContentType = "application/json; charset=utf-8";
request.ContentLength = length;
using (Stream postSTream = request.GetRequestStream())
{
postSTream.Write(buffer, 0, length);
}
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
}