使用 CURL 上传文件

CURL 是一个强大的向服务器发送请求的工具, 尤其是在测试 API 的时候。
很多人像寻常表单一样使用了 -X POST 方式来使用 CURL 去上传文件,但实际上这是错误的。
正确的方式是使用 **-F (-form)**来上传文件,这样才会给请求添加 enctype="multipart/form-data" 参数。

$ curl -F 'data=@path/to/local/file’ UPLOAD_ADDRES

例如, 如果我想向服务器 http://localhost/upload 上传位于/home/petehouston/hello.txt的文件,并将上传的文件的参数命名为 img_avatar, 我可以这样发送请求,

curl -F 'img_avatar=@/home/petehouston/hello.txt' http://localhost/upload

上传多个文件

想要同时上传多个文件的话,只需要添加多个 -F 选项就可以了。

curl -F 'fileX=@/path/to/fileX' -F 'fileY=@/path/to/fileY' ... http://localhost/upload

上传文件数组

想要上传文件数组的话,只需要添加多个 -F 选项并命名成相同名字的数组就可以了。

curl -F 'files[]=@/path/to/fileX' -F 'files[]=@/path/to/fileY' ... http://localhost/upload

就是这么简单,开始享用吧:)



请遵守《互联网环境法规》文明发言,欢迎讨论问题
扫码反馈

扫一扫,反馈当前页面

咨询反馈
扫码关注
返回顶部