【问题标题】:IBM watson api of visual recognition add image issue in collectio using curl视觉识别的IBM watson api使用curl在collectio中添加图像问题
【发布时间】:2019-06-28 22:51:07
【问题描述】:

当我将图像添加到集合时,我正在使用 IBM watson 视觉识别 api,但是 我总是收到以下错误:

string(59) "{ "error": "Missing multipart/form-data", "code": 400 }" bool(true)

这是我的代码:

 <?php
 if ( isset($_FILES['uploadedfile']) && $_POST!="" ) {
 $targetPath = 'uploads/'.basename($_FILES['uploadedfile']['name']);
 $url = 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/collections/searchItems_c5c677/images?api_key=655e4118jgfd8e967ce58ee0b67behjfh3ebfad22e38a34e&version=2016-05-20';
 $fileData = $_FILES['uploadedfile']['name'];
 $post_data = array(
        'image_file' => $fileData
 );
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
 $headers = array();
 $headers[] = "Content-Type: multipart/form-data";
 $headers[] = "Accept: application/json";
 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
 $result = curl_exec($ch);
 if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);die;
 }
   var_dump($result, true);die;
 }
?>
<form enctype="multipart/form-data" method='post' action="index.php">
  <input name="uploadedfile" type="file" value="choose">
  <input type="submit" value="Upload">
</form>

【问题讨论】:

    标签: php android html ios curl


    【解决方案1】:

    我已经查看了您的代码并进行了一些更改,现在它可以正常工作了。

    if (isset($_FILES['uploadedfile']) && $_POST != "") {
        $targetPath = 'uploads/' . basename($_FILES['uploadedfile']['name']);
        $url = 'https://gateway-a.watsonplatform.net/visual-recognition/api/v3/classify?api_key={your_key}&version=2016-05-20';
        $post_data = array(
            'file' =>
            '@' . $_FILES['uploadedfile']['tmp_name']
            . ';filename=' . $_FILES['uploadedfile']['name']
            . ';type=' . $_FILES['uploadedfile']['type']
        );
    
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        $headers = array();
        $headers[] = "Content-Type: multipart/form-data";
        $headers[] = "Accept: application/json";
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        $result = curl_exec($ch);
        if (curl_errno($ch)) {
            echo 'Error:' . curl_error($ch);
            die;
        }
        var_dump($result, true);
        die;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-07-07
      • 2016-04-11
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多