问题

我想使用cURL不仅在HTTP POST中发送数据参数,而且还上传具有特定表单名称的文件.我该怎么做?

http帖子参数:

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命令?

  最佳答案

您需要使用-F选项:
2001年12月31日终了的两年期收入和支出及准备金和基金结余变动报表 -F/--form <name=content> Specify HTTP multipart POST data (H)

尝试这个:

 curl \
  -F "userid=1" \
  -F "filecomment=This is an image file" \
  -F "[email protected]/home/user1/Desktop/test.jpg" \
  localhost/uploader.php
 

  相同标签的其他问题

shellfilecurlpostfile-upload