Пытаюсь загрузить изображение в виртуальный каталог HTTP, но получаю это исключение:
A first chance exception of type 'System.Net.WebException' occurred in System.dll
at System.Net.HttpWebRequest.GetResponse()
Dim mFileStream As New FileStream("/Image Location/", FileMode.Open)
Dim mRequest As WebRequest = WebRequest.Create("/URL/")
mRequest.Headers.Set("filename", "new name")
mRequest.Proxy = New WebProxy("/URL/", True)
mRequest.Method = "POST"
mRequest.ContentLength = mFileStream.Length
Dim mCredentials As New NetworkCredential
mCredentials.Password = "/pass/"
mCredentials.UserName = "/Login Name/"
mRequest.Credentials = mCredentials
Dim mData(mFileStream.Length - 1) As Byte
mFileStream.Read(mData, 0, mFileStream.Length)
mFileStream.Close()
Using dataStream As Stream = mRequest.GetRequestStream()
dataStream.Write(mData, 0, mData.Length)
dataStream.Close()
End Using
Dim mResponse As HttpWebResponse = CType(mRequest.GetResponse(), HttpWebResponse)
mResponse.Close()
После дальнейшего расследования я обнаружил, что причина WebException:
ProtocolError The remote server returned an error: (405) Method Not Allowed.
@AndrewMorton та же ошибка, это просто HTTP-вещь, я думаю, поэтому в трассировке стека не так много сообщений
Microsoft написала именно об этом: Устранение неполадок исключений: System.Net.WebException.
@AndrewMorton Спасибо за отличный совет, теперь я получаю ProtocolError Удаленный сервер возвратил ошибку: (405) Метод запрещен., это означает, что мне не разрешено использовать сообщения на этом сервере, в то время как я могу с других устройств
@AndrewMorton Я искал, и ничто не решило мою проблему, да, я контролирую сервер, это виртуальный каталог IIS
Как насчет jQuery POST, ошибка 405 Метод недопустим?





Ответ был довольно прост, несмотря на все, что я пробовал вы должны указать имя файла в URL-адресе
Dim mRequest As WebRequest = WebRequest.Create("/URL/")
к
Dim mRequest As WebRequest = WebRequest.Create("/URL/" & FileName & FileExtention)
бывший:
Dim mRequest As WebRequest = WebRequest.Create("http://1.1.1.1/niveimage.png")
@AndrewMorton Спасибо, Эндрю, этот блок находится внутри оператора try catch, и он дает мне только это сообщение