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

目录

背景

说明


背景

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

说明

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

Content-Type: multipart/form-data"

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

-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)

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

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=@ 来实现。

你可能感兴趣的:(网络/协议,服务器,http,CURL)