C# 使用multipart form-data方式post数据到服务器

 更新时间:2020年08月19日 09:25:51   作者:三五月儿  
这篇文章主要介绍了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表单提交数据

<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

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 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Unity UGUI的ScrollRect滚动视图组件使用详解

    Unity UGUI的ScrollRect滚动视图组件使用详解

    这篇文章主要为大家介绍了Unity UGUI的ScrollRect滚动视图组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 分享WCF聊天程序--WCFChat实现代码

    分享WCF聊天程序--WCFChat实现代码

    无意中在一个国外的站点下到了一个利用WCF实现聊天的程序,作者是:Nikola Paljetak。研究了一下,自己做了测试和部分修改,感觉还不错,分享给大家
    2015-11-11
  • C#中的多播委托和泛型委托

    C#中的多播委托和泛型委托

    这篇文章介绍了C#中的多播委托和泛型委托,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中时间类的使用方法详解

    C#中时间类的使用方法详解

    这篇文章主要介绍C#中的时间类,文中主要介绍了DateTime类,TimeSpan类,DateTimeOffset类及静态类的封装,通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • C#中Thread(线程)和Task(任务)实例详解

    C#中Thread(线程)和Task(任务)实例详解

    .NET Framework在System.Threading命名空间中具有与线程相关的类,线程是一小组可执行指令,这篇文章主要给大家介绍了关于C#中Thread(线程)和Task(任务)的相关资料,需要的朋友可以参考下
    2022-03-03
  • C# Email发送邮件 对方打开邮件可获得提醒

    C# Email发送邮件 对方打开邮件可获得提醒

    这篇文章主要为大家详细介绍了C# Email发送邮件功能,对方打开通知你,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • WinForm开发中屏蔽WebBrowser脚本错误提示的方法

    WinForm开发中屏蔽WebBrowser脚本错误提示的方法

    这篇文章主要介绍了WinForm开发中屏蔽WebBrowser脚本错误提示的方法,在C#项目开发中比较实用,需要的朋友可以参考下
    2014-08-08
  • Winform界面中实现菜单列表的动态个性化配置管理方法

    Winform界面中实现菜单列表的动态个性化配置管理方法

    下面小编就为大家分享一篇Winform界面中实现菜单列表的动态个性化配置管理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • C#浏览器提示跨域问题解决方案

    C#浏览器提示跨域问题解决方案

    这篇文章主要介绍了C#浏览器提示跨域问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • DevExpress TreeList 常见问题解决方法

    DevExpress TreeList 常见问题解决方法

    这篇文章主要介绍了DevExpress TreeList 常见问题解决方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-12-12

最新评论