C# 使用multipart form-data方式post數(shù)據(jù)到服務器
使用multipart/form-data方式提交數(shù)據(jù)與普通的post方式有一定區(qū)別。multipart/form-data的請求頭必須包含一個特殊的頭信息:Content-Type,其值必須為multipart/form-data。另外還需要規(guī)定一個內容分割符用于分割請求體中的多個post的內容,如文件內容和文本內容,只有這樣服務端才能正常解析數(shù)據(jù)。但是,multipart/form-data的基礎還是post,它是由post方法來實現(xiàn)的。下面分別給出兩種方法提交multipart/form-data數(shù)據(jù)。
1、使用form表單提交數(shù)據(jù)
<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表單提交數(shù)據(jù)的兩種方式。
(1)application/x-www-form-urlencoded 不能用于上傳文件,只能提交文本,當然如果有file控件的話也只能提交文件名。
(2)multipart/form-data 用于上傳文件。
2、使用HttpClient和MultipartFormDataContent
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數(shù)據(jù)到服務器的文章就介紹到這了,更多相關multipart form-data post 內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#判斷一個字符串是否是數(shù)字或者含有某個數(shù)字的方法
這篇文章主要介紹了C#判斷一個字符串是否是數(shù)字或者含有某個數(shù)字的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-06-06
基于C#的socket編程的TCP異步的實現(xiàn)代碼
本篇文章主要介紹了基于C#的socket編程的TCP異步的實現(xiàn)代碼,詳解的講訴了TCP通信異步的實現(xiàn),有興趣的可以了解一下。2016-11-11
C#/VB.NET實現(xiàn)HTML轉為XML的示例代碼
可擴展標記語言(XML)文件是一種標準的文本文件,它使用特定的標記來描述文檔的結構以及其他特性。本文將利用C#實現(xiàn)HTML轉為XML,需要的可以參考一下2022-06-06
C#實現(xiàn)只運行單個實例應用程序的方法(使用VB.Net的IsSingleInstance)
這篇文章主要介紹了C#實現(xiàn)只運行單個實例應用程序的方法,本文使用的是VB.Net的IsSingleInstance方法實現(xiàn),優(yōu)于Mutex 和 Process 這兩種只運行單個應用程序實例的方法,需要的朋友可以參考下2014-07-07

