我遇到了以下代码在Windows 2003计算机上工作的问题,现在我们正在升级到2008年并且它不再有效。当代码到达getResponse()时,它给我一个405错误。IIS 7.5 - Windows Server 2008 - 文件上传405错误。代码在Windows 2003服务器中工作
我正在通过IIS写入虚拟目录。
我也试过把它作为一个应用程序,它没有任何区别。 我们没有安装/启用webdav。
我到处搜索,似乎无法找到正确的解决方案,让我写文件。
我已经提供了一个用来上传文件的基本代码...
saveLocation.Length = 0;
saveLocation.Append(Path.GetFileName(files[0]));
inStream = File.Open(files[0], FileMode.Open);
HttpWebRequest myWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost/kw/archive/testFile.pdf");
myWebRequest.ContentType = contentType;
myWebRequest.Method = "put";
//myWebRequest.Headers.Add("action", "put");
myWebRequest.Headers.Add("filename", saveLocation.ToString());
myWebRequest.ContentLength = inStream.Length;
dataToRead = (int)inStream.Length;
outStream = myWebRequest.GetRequestStream();
while (dataToRead > 0) {
if (Response.IsClientConnected) {
length = inStream.Read(buffer, 0, 10000);
outStream.Write(buffer, 0, length);
buffer = new Byte[10000];
dataToRead = dataToRead - length;
}
else {
dataToRead = -1;
}
}
HttpWebResponse myWebResponse = (HttpWebResponse)myWebRequest.GetResponse();
myWebResponse.Close();
inStream.Close();
outStream.Close();
更新:我目前得到一个405错误。
你能再发表这项错误的更多详细信息? – Mairaj 2014-12-15 10:14:59
我收到了405错误。我已经尝试了一切,无法弄清楚阻止请求的内容。如果有帮助的话,WebDav没有安装。 – 2014-12-15 15:09:11
您是否启用了失败的请求追踪?如果是这样你能从日志中发布事件数据吗? – Aaron 2014-12-16 14:03:27