Probuje zaimplementowac do swojego projektu formularz, ktorego zadaniem jest upload pliku bez wykorzystania encji. Jednak napotykam na blad, ktorego nie wiem jak sie pozbyc.
Na chwile obecna mam taki kod:
form.html.twig
Fragment z kontrolera:
// Upload pliku CSV public function uploadCSVAction() { $request = $this->getRequest(); $form = $this->createFormBuilder() ->getForm(); if ($request->getMethod() == 'POST') { $form->handleRequest($request); if ($form->isValid()) { //$file = $form->get('file')->getData(); // jesli odkomentuje te linie, ponizsza zakomentuje otrzymuje blad: "Child "file" does not exist. " $file = $form->getData(); // jesli odkomentuje te linie, a powyzsza zakomentuje: "Error: Call to a member function getClientOriginalName() on a non-object " $name = $file->getClientOriginalName(); $dir = $this->getUploadDir(); $file->move($dir, $name); return new Response('1'); } else { $this->get('session')->getFlashBag()->add('danger', "Podczas przetwarzania formularza wystąpiły błędy."); 'form' => $form->createView(), )); } } else { 'form' => $form->createView(), )); } }
Obiekt $form->getData() jest nastepujacy:
array(1) { ["csv"]=> object(Symfony\Component\HttpFoundation\File\UploadedFile)#13 (7) { ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> bool(false) ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(32) "brodziki-prostokatne-szablon.csv" ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(24) "application/vnd.ms-excel" ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(10602) ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(0) ["pathName":"SplFileInfo":private]=> string(24) "C:\xampp\tmp\phpB4DF.tmp" ["fileName":"SplFileInfo":private]=> string(11) "phpB4DF.tmp" } }
Czy ktos z Was jest w stanie mi podpowiedziec, co robie zle i w jaki sposob dokonac poprawek?
Bede wdzieczny za pomoc.