这是我需要做的描述(我知道它含糊不清,但这就是我所得到的):
可以通过向图像URI发送HTTP PUT请求来上载图像。请求的主体应包含图像数据,或者如果图像的最后修改日期相关,则包含图像的XML或JSON文档。在后一种情况下,XML根节点应该被称为“图像”,它应该包含节点“lastModified”(将日期指定为Unix时间戳)和包含图像数据的“数据”。 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
任何可以提供帮助的人?
答案 0 :(得分:0)
您的描述说您应该发送HTTP PUT,但您的示例使用POST发送multipart formpost。
该描述还提到使用XML和JSON,而您的代码似乎甚至没有尝试这样做。