在 vb.net 中通过 http 上传到虚拟目录时遇到问题
Having trouple uploading to virtual directory via http in vb.net
尝试将图像上传到 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.
尽管我尽了一切努力,答案还是很简单
您必须在 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")
尝试将图像上传到 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.
尽管我尽了一切努力,答案还是很简单 您必须在 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")