目录
背景
发送请求时需要携带文件,又想携带自定义参数的场景。
说明
需要带文件,则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=@ 来实现。