簡體   English   中英

如何通過vb.net中的HTTP發布來發布文件

[英]How to post a file via HTTP post in vb.net

在vb.net中通過HTTP發布發送文件時遇到問題。 我正在嘗試模仿以下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>

希望有人能幫忙!

我認為您所要求的是從VB.Net Winforms App將文件發布到Web服務器CGI腳本的能力。

如果是這樣,這應該為您工作

Using wc As New System.Net.WebClient()
    wc.UploadFile("http://yourserver/cgi-bin/upload.cgi", "c:\test.bin")
End Using

如果UploadFile (如OneShot所說)不起作用,則可以使用HttpWebRequest
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();

使用它可以從HTTP Post獲取文件。

Request.Files["File"];

您可以使用

例如:

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)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM