如何从POST获取图像?

时间:2014-04-03 17:24:31

标签: php symfony

我正在使用移动设备API,允许用户发布图片。 在我收到POST变量的地方我用这个:

 public function endTimesAction()
 {
        $request = Request::createFromGlobals();
        $arrivalTime = $request->request->get('arrivalTime', 0);
 }

如何从帖子中获取图像并将其保存在我的服务器上?

1 个答案:

答案 0 :(得分:1)

您将要创建form添加file field然后在表单上处理请求并保存文件。

use Symfony\Component\HttpFoundation\Request;

...

public function handleFileUploadAction(Request $request)
{
    $form = $this->get('form.factory')->createNamedBuilder('')
        //Using the createNamedBuilder on the form factory service will remove the form[] wrapper around the field names
        ->add('uploaded_file','file')
        ->getForm();
    if($request->isMethod('post')){
        $form->handleRequest($request);
        if($form->isValid()){
            $file = $form['uploaded_file']->getData()->move($dir, $someNewFilename);
        }
    }
}

从您链接的文章看,应用程序将使用属性名称uploaded_file将数据发布到路径。即使您在技术上不使用html表单视图,仍然会有一个“表单”提交到您的Web应用程序,这就是为什么您将使用symfony表单来处理提交。