图像上传CURL命令到PHP Curl

前端之家收集整理的这篇文章主要介绍了图像上传CURL命令到PHP Curl前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 PHP CURL的新手,并试图调用API来进行图像上传(一次多个文件). API文档在CURL中给出了以下示例.我已经测试过,它正在运行.
  1. curl -H "Authorization: Bearer 123456789" -i -X POST -F "whitespace=1" \
  2. -F "imageData[]=@/path/to/images/milk.jpg" \
  3. -F "imageData[]=@/path/to/images/peas.jpg" \
  4. https://mytestapi.com/1.0/uploadimages

现在我需要将其转换为PHP Curl.出于某种原因,我总是得到错误“imageData”param无效.有人可以请帮助

  1. $token = '123456789';
  2. $imgUrl = 'https://mytestapi.com/1.0/uploadimages';
  3.  
  4.  
  5. $data_to_post = array();
  6. $data_to_post['whitespace'] = '1';
  7. $data_to_post['imageData[]'] = '@/path/to/images/milk.jpg';
  8. $data_to_post['imageData[]'] = '@/path/to/images/peas.jpg';
  9.  
  10.  
  11. $curl = curl_init($imgUrl);
  12. curl_setopt($curl,CURLOPT_HTTPHEADER,['Authorization: Bearer '.$token]);
  13. curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
  14. curl_setopt($curl,CURLOPT_VERBOSE,1);
  15. curl_setopt($curl,CURLOPT_POST,CURLOPT_POSTFIELDS,$data_to_post);
  16. $data = json_decode(curl_exec($curl));
  17. $responseCode = curl_getinfo($curl,CURLINFO_HTTP_CODE);
  18. curl_close($curl);
  19.  
  20. var_dump($data);

解决方法

尽量给出完整的图像路径而不是’@ / path / to / images / milk.jpg’;

这是更新的代码

  1. $token = '123456789';
  2. $imgUrl = 'https://mytestapi.com/1.0/uploadimages';
  3.  
  4.  
  5. $data_to_post = array();
  6. $data_to_post['whitespace'] = '1';
  7. $data_to_post['imageData'][] = "@".$imgUrl.'/path/to/images/milk.jpg';
  8. $data_to_post['imageData'][] = "@".$imgUrl.'/path/to/images/peas.jpg';
  9.  
  10.  
  11. $curl = curl_init($imgUrl);
  12. curl_setopt($curl,CURLINFO_HTTP_CODE);
  13. curl_close($curl);
  14.  
  15. var_dump($data);

如果这不起作用,请告诉我.

猜你在找的Linux相关文章