.Net使用HttpClient以multipart/form-data形式post上传文件及其相关参数

本文详细介绍了如何使用.Net HttpClient以multipart/form-data格式上传文件和相关参数,包括前端HTML上传图片按钮、Ajax传递文件流和参数到后端、后端接收并转换文件、HttpClient拼接参数POST提交数据的步骤。此外,还提供了Fiddler 4抓包检查请求参数的方法,以确保数据正确传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  目录导航:
  
  前言:
  
  什么是multipart/form-data请求:
  
  Html上传图片按钮:
  
  使用ajax将图片文件流和相关参数传递到后端进行拼接:
  
  后端接收图片和参数,并将图片文件流转化为图片字节类型数据:
  
  重点,HttpClient拼接multipart/form-data形式参数post提交数据:
  
  使用Fiddler 4 抓包查看请求的参数:
  
  总结:
  
  文章正文:
  
  回到顶部
  
  前言:
  
  本次要讲的是使用.Net HttpClient拼接multipark/form-data形式post上传文件和相关参数,并接收到上传文件成功后返回过来的结果(图片地址,和是否成功)。可能有很多人会说用ajax不是就可以轻松的实现吗?的确是在不存在跨域问题的前提下使用ajax上传文件,接收返回结果是最佳的选择。无奈的是我们对接的是第三方的一个上传图片的接口,而且对方并没有对我们的域名设置允许跨域,为了能够解决这一问题我们只能够通过后端请求避免跨域问题。
  
  回到顶部
  
  什么是multipart/form-data请求:
  
  关于multipart/form-data详情查看: https://www.cnblogs.com/tylerdonet/p/5722858.html
  
  回到顶部
  
  Html上传图片按钮:
  
  <div class="cover-hd">
  
  <a href="javascript:;" class="a-uploadCustom">
  
  <input type="file" id="Logoimg" onchange="OnchangeImage(this)" /></a>
  
  </div>
  
  回到顶部
  
  使用ajax将图片文件流和相关参数传递到后端进行拼接:
  
  注意:因为我这里调用第三方接口需要传递(appid应用程序唯一标识,random随机数,和sign签名)
  
  复制代码
  
  <script type="text/javascript">
  
  //后端图片上传
  
  function OnchangeImage(obj) {
  
  var formData = new FormData();
  
  var files = $(obj).prop('files'); //获取到文件列表
  
  console.log(files[0]);
  
  formData.append("imgType", 1);
  
  formData.append("appId","你需要传递的参数");
  
  formData.append("random", "你需要传递的参数");
  
  formData.append("file", files[0]);//图片文件流
  
  formData.append("sign", "你需要传递的参数");
  
  console.log(formData);
  
  jQuery.support.cors = true;
  
  $.ajax({
  
  async: true,
  
  contentType: false, //头部请求内容格式
  
  dataType: 'json',
  
  type: 'post',
  
  data:formData,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值