1
我一直在試圖用Symfony2.3上傳單個文件時出現問題。當我嘗試上傳的文件我得到以下錯誤:上傳Symfony2.3中的文件
FatalErrorException: Error: Call to a member function move() on a non-object in
我已經檢查$csvFileForm['csvFile']->getData();
和一個字符串(文件名),也$file = $this->getRequest()->files;
有大小爲零。
這裏是表演動作:
/**
* Finds and displays a Project entity.
*
* @Route("/{id}", name="console_project_show")
* @Method("GET")
* @Template()
*/
public function showAction($id)
{
$csvFileForm = $this->createFormBuilder()
->add('csvFile', 'file')
->getForm();
return array(
'csvFileForm' => $csvFileForm->createView()
);
}
,並在模板的形式如下:
<form method="POST" action="{{ path('console_project_upload_urls', { 'id': entity.id }) }}" >
{{ form_row(csvFileForm.csvFile) }}
{{ form_row(csvFileForm._token) }}
<input type="submit" name="submit" class="submit"/>
</form>
上傳操作是這樣的:
/**
* Lists all Project entities.
*
* @Route("/{id}/upload-urls", name="console_project_upload_urls")
* @Method("POST")
*/
public function uploadUrlsAction(Request $request, $id)
{
$csvFileForm = $this->createFormBuilder()
->add('csvFile', 'file')
->getForm();
$request = $this->getRequest();
$csvFileForm->handleRequest($request);
$data = $csvFileForm['csvFile']->getData();
$data->move(".", "something.csv"); // This is where the exception occurs
$file = $this->getRequest()->files; // I have used this to check the size of the array
return $this->redirect(...);
}
感謝您的任何幫幫我。
謝謝!我編輯了答案,在'from_end'中添加表單。 – Chango