我想在一个http请求中发送json请求和几个文件.我正在使用multipart/mixed请求
curl -H "Content-Type: multipart/mixed" -F "request=@body.json; type=application/json" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName
Run Code Online (Sandbox Code Playgroud)
request字段具有application/json内容类型,并且通过该指示我定义该部分是json请求而其他部分是文件.
我的问题是如何在curl请求中内联请求正文.我试着用
curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"}" -F "file1=@2.xml" -F "file2=@2.pdf" -X POST hostName
Run Code Online (Sandbox Code Playgroud)
但内容类型request将是plain/text
spl*_*tch 10
您可以在分号后添加内容类型信息:
curl -H "Content-Type: multipart/mixed" -F "request={"param1": "value1"};type=application/json"
Run Code Online (Sandbox Code Playgroud)
要使用curl命令附加有效负载和文件,有些人会这样做.
curl -i -X POST -H "Content-Type: multipart/mixed" \
-F "somepayload={\"name\":\"mypayloadname\"};type=application/json" \
-F "uploadfile=@somevalid.xml" http://localhost:8080/path/topost
Run Code Online (Sandbox Code Playgroud)
确保转义有效负载内容,somevalid.xml应该存在于执行curl的同一目录中,或者用文件的有效路径替换它.