http请求使用multipart/form-data 方式上传文件和其它参数

http请求使用multipart/form-data 方式上传文件和其它参数

最近再和客户软件对接的时候,被要求用form-data格式传参调用API接口,之前一般只用XML,JSON格式,第一次用form-data,找了几篇文章,发现许多文章的实例代码太复杂,最后黄天不负有心人,找到了一个简单的范例,干净利落脆,秒懂。代码如下:

		    HttpClient httpClient = new HttpClient();
            string path = "http://192.168.88.100:81/api/basic/PostTemplate";//API接口调用网址
            MultipartFormDataContent form = new MultipartFormDataContent();//创建form-data类型
            //StringContent:存字符串类型   ByteArrayContent :存byte类型(文件)
            form.Add(new StringContent("测试机台2"), "machineName");//测试机台2:值     machineName:栏位名称(Key)
            form.Add(new StringContent("任务4"), "taskTemplateName");
            form.Add(new StringContent("2"), "equipmentSerial");
            form.Add(new StringContent("任务模板400"), "templateName");
            form.Add(new StringContent("JT"), "fileType");
            form.Add(new StringContent("67B57884EA331AC6"), "md5CheckCode");

            ByteArrayContent bb = new ByteArrayContent(File.ReadAllBytes(@"C:\Users\111\Desktop\斑马打印机设置IO卡.JT"));//读取文件byte放在			  ByteArrayContent 类型中
            form.Add(bb, "files", "斑马打印机设置IO卡.JT");//bb:文件byte,files:栏位名称,斑马打印机设置IO卡.JT:文件名称(服务器端直接读此名称,这样就可以解决读取字节流无法知道文件名称的问题)
            HttpResponseMessage response = await httpClient.PostAsync(path, form);

            response.EnsureSuccessStatusCode();
            httpClient.Dispose();
            string sd = response.Content.ReadAsStringAsync().Result;//请求结果转为字串

参考网址:https://cloud.tencent.com/developer/ask/sof/1315215/answer/1815274

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值