Как отправить файл через HTTP-сообщение в vb.net
Проблема с отправкой файла через HTTP-сообщение в vb.net. Я пытаюсь подражать следующему HTML, поэтому vb.net делает то же самое.
<form enctype="multipart/form-data" method="post" action="/cgi-bin/upload.cgi">
File to Upload:
<input type="file" name="filename"/>
<input type="submit" value="Upload" name="Submit"/>
</form>
Надеюсь, кто-то может помочь!
Ответы
Ответ 1
Я думаю, что вы запрашиваете возможность отправить файл на веб-сервер cgi script из приложения VB.Net Winforms.
Если это так, это должно сработать для вас
Using wc As New System.Net.WebClient()
wc.UploadFile("http://yourserver/cgi-bin/upload.cgi", "c:\test.bin")
End Using
Ответ 2
Вы можете использовать HttpWebRequest, если UploadFile (как говорит OneShot) не получается.
HttpWebRequest как более подробные параметры учетных данных и т.д.
FileStream rdr = new FileStream(fileToUpload, FileMode.Open);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uploadUrl);
req.Method = "PUT"; // you might use "POST"
req.ContentLength = rdr.Length;
req.AllowWriteStreamBuffering = true;
Stream reqStream = req.GetRequestStream();
byte[] inData = new byte[rdr.Length];
// Get data from upload file to inData
int bytesRead = rdr.Read(inData, 0, rdr.Length);
// put data into request stream
reqStream.Write(inData, 0, rdr.Length);
rdr.Close();
req.GetResponse();
// after uploading close stream
reqStream.Close();
Ответ 3
Используйте это, чтобы получить файл из HTTP-сообщения.
Request.Files["File"];
Ответ 4
Вы можете использовать
Например:
In ASPX:
<Asp:FileUpload id="flUpload" runat="Server" />
In Code Behind:
if(flUpload.HasFile)
{
string filepath = flUpload.PostedFile.FileName;
flUpload.PostedFile.SaveAs(Server.MapPath(".\\") + file)
}