为了账号安全,请及时绑定邮箱和手机立即绑定

使用curl上传带有文件的POST数据

使用curl上传带有文件的POST数据

慕仙森 2019-08-14 17:15:21
使用curl上传带有文件的POST数据我想使用cURL不仅可以在HTTP POST中发送数据参数,还可以上传具有特定表单名称的文件。我应该怎么做呢?HTTP Post参数:userid = 12345 filecomment =这是一个图像文件HTTP文件上传:文件位置= /home/user1/Desktop/test.jpg file = image的表单名称(对应于PHP端的$ _FILES ['image'])我认为cURL命令的一部分如下:curl -d "userid=1&filecomment=This is an image file" --data-binary @"/home/user1/Desktop/test.jpg" localhost/uploader.php我得到的问题如下:Notice: Undefined index: image in /var/www/uploader.php问题是我使用$ _FILES ['image']来获取PHP脚本中的文件。如何相应调整cURL命令?
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

你需要使用-F选项:

-F/--form <name=content> Specify HTTP multipart POST data (H)


试试这个:


curl \

  -F "userid=1" \

  -F "filecomment=This is an image file" \

  -F "image=@/home/user1/Desktop/test.jpg" \

  localhost/uploader.php


查看完整回答
反对 回复 2019-08-14
?
呼如林

TA贡献1798条经验 获得超3个赞

将用户标识捕获为路径变量(推荐):

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3" http://mysuperserver/media/1234/upload/

将用户标识作为表单的一部分:

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3;userid=1234" http://mysuperserver/media/upload/

要么:

curl -i -X POST -H "Content-Type: multipart/form-data" -F "data=@test.mp3" -F "userid=1234" http://mysuperserver/media/upload/


查看完整回答
反对 回复 2019-08-14
  • 3 回答
  • 0 关注
  • 7690 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信