我正在使用我的symfony应用程序中的rest web服务尝试上传图像。我尝试了以下代码,但它抛出错误未定义的索引照片。我想知道什么是正确的方法。 我已经关注了how to send / get files via web-services in php,但它没有效果。
这是我的html文件,用于访问应用程序URL:
<form action="http://localhost/superbApp/web/app_dev.php/upload" enctype='multipart/form-data' method="POST">
<input type="file" name="photo" ></br>
<input type="submit" name="submit" value="Upload">
</form>
我的控制器方法如下:
public function uploadAction(){
$request = $this->getRequest(); /*** get the request method ****/
$RequestMethod = $request->getMethod();
$uploads_dir = '/uploads';
foreach ($_FILES["photo"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["photo"]["tmp_name"][$key];
$name = $_FILES["photo"]["name"][$key];
move_uploaded_file($tmp_name, $uploads_dir."/".$name);
}
}
}
答案 0 :(得分:0)
如果您使用的是Symfony,则应使用Symfony表单执行此操作。在您的示例中,您放置了一个指向app_dev.php的URL,但该URL在生产模式下不起作用。在Symfony食谱中有一篇文章解释了如何上传文件,你应该阅读:
http://symfony.com/doc/current/cookbook/doctrine/file_uploads.html
完成此操作后,您可以使用为操作指定的路径通过Rest WebService上传图像,将Content-Type指定为multipart / form-data,并添加图像的字段名称将是喜欢这个package_yourbundle_yourformtype [file]。