我遇到了以下代碼在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