发起POST请求时同时携带文件和自定义参数

目录

背景

说明


背景

发送请求时需要携带文件,又想携带自定义参数的场景。

说明

需要带文件,则Content-Type已经确定:

bash 复制代码
Content-Type: multipart/form-data"

其次在form中设置自己的参数:

bash 复制代码
-F 'a=1'

注意此时-d(即**--data**)不能和-F混用,否则会报错:

Warning: You can only select one HTTP request method! You asked for both POST
Warning: (-d, --data) and multipart formpost (-F, --form)

发送两个文件、携带两个参数的完整的示例如下:

bash 复制代码
curl -X POST http://ip:port/xxx \
  -H "Content-Type: multipart/form-data" \
  -F "files[]=@./1.txt" \
  -F "files[]=@./2.yml" \
  -F 'a=1' \
  -F 'b=2' 

后端接收文件时用 files\[\] 接收,\[\]的意思是发多个文件的情况,如果只有单个,也可以通过 file=@ 来实现。

相关推荐
坤坤子吖13 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
青瓦梦滋14 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
沫璃染墨15 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven15 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
LabVIEW开发15 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
CodeYp201916 小时前
第11讲:应用层协议 HTTP
linux·http
我是koten21 小时前
【运维杂谈】K8s遇到Terminating的名称空间删除不了怎么办?(解决方案亲测有效)
linux·运维·服务器·云原生·kubernetes·k8s·名称空间
爱吃奥利奥_wen1 天前
SQL Server 基础语法详解:从建库建表到约束与增删改查
服务器·数据库·oracle
Android系统攻城狮1 天前
Linux FFmpeg深度解析之avio_open调用流程与实战(三十八)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
Thanks_ks1 天前
HTTP 请求方法与 RESTful 接口设计:GET 和 POST 到底怎么用
http·api·restful·状态码·get·post·接口设计