C# 使用multipart form-data方式post數據到服務器


https://www.jb51.net/article/193612.htm
C# 使用multipart form-data方式post數據到服務器

使用multipart/form-data方式提交數據與普通的post方式有一定區別。multipart/form-data的請求頭必須包含一個特殊的頭信息:Content-Type,其值必須為multipart/form-data。另外還需要規定一個內容分割符用於分割請求體中的多個post的內容,如文件內容和文本內容,只有這樣服務端才能正常解析數據。但是,multipart/form-data的基礎還是post,它是由post方法來實現的。下面分別給出兩種方法提交multipart/form-data數據。

1、使用form表單提交數據

?
1
2
3
4
5
6
< form action = "xx.php" method = "post" enctype = "multipart/form-data" >
   < input type = "text" name = "uname" class = "uname" />< br />
   < input type = "text" name = "email" class = "email" />< br />
   < input type = "file" name = "file" class = "file" />< br />
   < input type = "submit" name = "submit" value = "提交" />
</ form >

form表單提交數據的兩種方式。

(1)application/x-www-form-urlencoded 不能用於上傳文件,只能提交文本,當然如果有file控件的話也只能提交文件名。
(2)multipart/form-data 用於上傳文件。

2、使用HttpClient和MultipartFormDataContent

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using (var client = new HttpClient())
using (var content = new MultipartFormDataContent())
{
   client.BaseAddress = new Uri( "http://localhost/WapAPIExp/" );
   var fileContent1 = new ByteArrayContent(File.ReadAllBytes( @"D:\xx.jpg" ));
   fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue( "file" )
   {
     FileName = "xx.jpg"
   };
   var dataContent = new ByteArrayContent(Encoding.UTF8.GetBytes( "1" ));
   dataContent.Headers.ContentDisposition = new ContentDispositionHeaderValue( "form" )
   {
     Name = "type"
   };
   content.Add(fileContent1);
   content.Add(dataContent);
   var result = client.PostAsync( "api/Upload" , content).Result;
}

到此這篇關於C# 使用multipart form-data方式post數據到服務器的文章就介紹到這了,更多相關multipart form-data post 內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

                        <div class="art_xg">
                            <b>您可能感興趣的文章:</b><ul><li><a href="/article/191323.htm" title="C#獲取本地IP的四種方式示例詳解" target="_blank">C#獲取本地IP的四種方式示例詳解</a></li><li><a href="/article/190663.htm" title="C#監測IPv4v6網速及流量的實例代碼" target="_blank">C#監測IPv4v6網速及流量的實例代碼</a></li><li><a href="/article/178579.htm" title="c#獲取客戶端IP地址(考慮代理)" target="_blank">c#獲取客戶端IP地址(考慮代理)</a></li><li><a href="/article/154439.htm" title="C#應用ToolStrip控件使用方法" target="_blank">C#應用ToolStrip控件使用方法</a></li><li><a href="/article/149100.htm" title="C#使用GZipStream實現文件的壓縮與解壓" target="_blank">C#使用GZipStream實現文件的壓縮與解壓</a></li><li><a href="/article/148198.htm" title="C# 使用SharpZipLib生成壓縮包的實例代碼" target="_blank">C# 使用SharpZipLib生成壓縮包的實例代碼</a></li><li><a href="/article/139717.htm" title="C#自定義IP輸入框控件" target="_blank">C#自定義IP輸入框控件</a></li><li><a href="/article/136873.htm" title="c# 文件壓縮zip或將zip文件解壓的方法" target="_blank">c# 文件壓縮zip或將zip文件解壓的方法</a></li><li><a href="/article/122230.htm" title="C#多線程爬蟲抓取免費代理IP的示例代碼" target="_blank">C#多線程爬蟲抓取免費代理IP的示例代碼</a></li><li><a href="/article/122143.htm" title="C# JavaScriptSerializer序列化時的時間處理詳解" target="_blank">C# JavaScriptSerializer序列化時的時間處理詳解</a></li><li><a href="/article/118249.htm" title="使用C# 的webBrowser寫模擬器時的javascript腳本調用問題" target="_blank">使用C# 的webBrowser寫模擬器時的javascript腳本調用問題</a></li><li><a href="/article/115971.htm" title="C#實現文件壓縮與解壓的方法示例【ZIP格式】" target="_blank">C#實現文件壓縮與解壓的方法示例【ZIP格式】</a></li><li><a href="/article/202400.htm" title="c# 獲得本地ip地址的三種方法" target="_blank">c# 獲得本地ip地址的三種方法</a></li></ul>
                        </div>

                    </div>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM