上传带有参数的 PHP curl 的图像会'415'

  • 本文关键字:图像 curl PHP 参数 php curl fsi
  • 更新时间 :
  • 英文 :


这是我需要做什么的描述(我知道这很模糊,但这是我所能做的)

可以通过向图像URI发送HTTP PUT请求来上传图像。请求的主体应该包含图像数据,或者如果图像的最后修改日期是相关的,则应该包含包装图像的XML或JSON文档。在后一种情况下,XML根节点应该被称为"image",它应该包含节点"lastModified"(将日期指定为Unix时间戳)和包含图像数据的"data"。JSON表示应该包含这两个值作为对象字段。内容类型应为"application/x-www-form-urlencoded",请求应包括表单参数filesize、filename、dir和lastmodified。响应将是ActionResponse,并将通知客户端在尝试上载时可能出现的任何问题。

这是我迄今为止的代码

function addImage($path) {
    global $serviceURL;
    global $curlhandle;
    $request_headers = array("X-Requested-With: XMLHttpRequest", "Accept: application/json", "Content-Type: application/x-www-form-urlencoded; charset=UTF-8");
    curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $request_param);
    curl_setopt($curlhandle, CURLOPT_HTTPHEADER, $request_headers);
    curl_setopt($curlhandle, CURLOPT_PUT, 1);
    curl_setopt($curlhandle, CURLOPT_URL, $serviceURL."image/".$path);
    $post = array(
        "file_box" => "@/Users/steven/Desktop/test.jpg"
    );
    curl_setopt($curlhandle, CURLOPT_POSTFIELDS, $post);
    $data=curl_exec($curlhandle);   
    var_dump($data);
}

这个代码最终给了我以下错误:

HTTP/1.1 415 Unsupported Media Type

有谁能帮忙吗?

您的描述说您应该发送一个HTTPPUT,但您的示例使用POST发送了一个多部分的formpost。

描述中还提到了使用XML和JSON,而您的代码似乎甚至没有尝试这样做。

相关内容

  • 没有找到相关文章