用curl命令发布文件?

时间:2019-05-22 15:47:17

标签: curl

嗨,我有一个curl命令来发布数据。

 curl -v  -X POST "http://localhost:8080/api/files" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfURNSU4iLCJleHAiOjE1NTg2MjQ2NjF9.XV8Ibcqoh7a6FWN6BF89rH4abyraaS86jsP04Y5vuNrH-rnJ3Se0T7ogA0t7oXXzrVsvZUpPgkm5pGHotd6a_g" -H "accept: */*" -H "Content-Type: multipart/form-data1" -F "file=@feet.wbmp;type=image/jpeg"

如果我不带; type = image / jpeg

使用此命令有什么区别?
curl -v  -X POST "http://localhost:8080/api/files" -H "Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfURNSU4iLCJleHAiOjE1NTg2MjQ2NjF9.XV8Ibcqoh7a6FWN6BF89rH4abyraaS86jsP04Y5vuNrH-rnJ3Se0T7ogA0t7oXXzrVsvZUpPgkm5pGHotd6a_g" -H "accept: */*" -H "Content-Type: multipart/form-data1" -F "file=@feet.wbmp"

1 个答案:

答案 0 :(得分:0)

tl; dr

通过type选项,您可以在多部分请求中指定给定部分的Content-Type


-F选项(以及更为冗长的--form)模仿用户已按下“提交”按钮的填写表单。它将使用带有Content-Type值的multipart/form-data标头使POST数据卷曲。

在多部分请求中,每个部分都可以有一个可选的Content-Type标头,如RFC 7578中所述:

  

4.4. Content-Type Header Field for Each Part

     

每个部分都可以有一个(可选)Content-Type头字段,默认为text/plain。如果要发送文件的内容,则应使用适当的媒体类型(如果已知)或application/octet-stream标记文件数据。

虽然@使文件作为文件上传形式附加在表单中,但是type参数允许您指定给定零件的Content-Type