您的位置:首页 > 其它

curl发送文件 post图片的两种方式

2017-12-22 20:19 337 查看
First Type:

curl

-F "pic=@/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'"
 http://127.0.0.1:8080/picture[/code] 
-F 指定data的参数,

"pic=@/mnt/shared/Image/jpg/Screensho1t.jpg; filename='Screensho1t.jpg'"


类似于html中

<input type="file"  name="pic" />

<input type="text" name="filename" />


-H指定上传数据的头信息

最后一个参数指定地址

多图上传:

curl

-F "pic=@/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'"

-F "pic=@/mnt/shared/Image/jpg/2.jpg; filename='2.jpg'"
 http://127.0.0.1:8080/picture[/code] 
带头信息上传:

curl

-F "pic=@/mnt/shared/Image/jpg/1.jpg; filename='1.jpg'"

-H "Content-filename:1.jpg"
 http://127.0.0.1:8080/picture[/code] 
参考文章:

使用cURL POST上传文件

CURL模拟表单post提交及相关常用参数的使用(包括提交表单同时上传文件

Second Type:

手写curl文件上传:

使用curl 上传文件,multipart/form-data

不使用-F,curl内置multipart/form-data功能;

文件内容与真实数据无关,用abc代替数据,依然可以上传成功,这里是文件的二进制内容;

name 为服务端获取文件的字段;

换行和—的数量需要一致;

-H指定头部信息,上传文件时在头部的Content-Type指定格式和分隔符;

boundary参数为内容分割,“-”的数量比后面数据里面少2;

–data 指定post的数据信息,图片内容在data内;

需要注意在data最后还有两个“–”。

curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv" --data "
------------WebKitFormBoundarykwAk3YkABYxtSoqv
Content-Disposition: form-data; name="file"; filename="selfi.jpg"
Content-Type: image/png

abc
------------WebKitFormBoundarykwAk3YkABYxtSoqv--
" http://127.0.0.1:8080/picture


下面给一个shell,不过没有成功,有能力的可以看看:

total=$(cat /mnt/shared/Image/1.jpg)
curl -H "Content-Type: multipart/form-data; boundary=----------WebKitFormBoundarykwAk3YkABYxtSoqv" --data '
------------WebKitFormBoundarykwAk3YkABYxtSoqv
Content-Disposition: form-data; name="pic"; filename="1.jpg"
Content-Type: image/jpeg

'"$total"'
------------WebKitFormBoundarykwAk3YkABYxtSoqv--
' http://127.0.0.1:8080/picture[/code] 
参考文章:

使用curl 上传文件,multipart/form-data
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  curl 上传图片
相关文章推荐