Как опубликовать файл через HTTP post в vb.net - PullRequest
13 голосов
/ 11 июня 2009

Возникла проблема с отправкой файла по 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>

Надеюсь, кто-то может помочь!

Ответы [ 4 ]

17 голосов
/ 11 июня 2009

Я думаю, что вы запрашиваете возможность публикации файла в сценарии cgi веб-сервера из приложения VB.Net Winforms.

Если это так, это должно работать для вас

Using wc As New System.Net.WebClient()
    wc.UploadFile("http://yourserver/cgi-bin/upload.cgi", "c:\test.bin")
End Using
14 голосов
/ 11 июня 2009

Вы можете использовать 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 голосов
/ 12 мая 2010

Используйте это, чтобы получить ваш файл из HTTP Post.

Request.Files["File"];
1 голос
/ 11 июня 2009

Вы можете использовать

Например:

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)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...