我正在编写一个RESTful API.我使用不同的动词上传图片时遇到问题.
考虑:
我有一个对象可以通过post/put/delete/get请求创建/修改/删除/查看到URL.当有文件要上传时,请求是多部分形式,或者当只有文本要处理时,请求是application/xml.
要处理与对象关联的图像上传,我正在执行以下操作:
if(isset($_FILES['userfile'])) {
$data = $this->image_model->upload_image();
if($data['error']){
$this->response(array('error' => $error['error']));
}
$xml_data = (array)simplexml_load_string( urldecode($_POST['xml']) );
$object = (array)$xml_data['object'];
} else {
$object = $this->body('object');
}
Run Code Online (Sandbox Code Playgroud)
这里的主要问题是当尝试处理put请求时,显然$ _POST不包含put数据(据我所知!).
作为参考,我正在构建请求:
curl -F userfile=@./image.png -F xml="<xml><object>stuff to edit</object></xml>"
http://example.com/object -X PUT
Run Code Online (Sandbox Code Playgroud)
有没有人有任何想法如何xml在我的PUT请求中访问变量?