МОЯ ПРОБЛЕМА
Я пытаюсь заставить stof/StofDoctrineExtensionsBundle
работать с symfony3
. Поэтому вместо использования $form->bind
, как указано в примере в документации stof, я попробовал $form->handleRequest
. К сожалению, после отправки формы я получаю следующую ошибку:
Файл не существует
Буду благодарен, если подскажете, что я делаю не так. Может быть, кто-нибудь будет так любезен и предоставит мне пример работающих скриптов загрузки?
МОЙ КОД
Код моего контроллера выглядит так:
public function plikAction(Request $request, $dok_id, $plik_id)
{
$em = $this->getDoctrine()->getManager();
if($plik_id == "nowy") $plik = new plik();
/.../
$form = $this->createForm(plikType::class, $plik);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid())
{
if($plik_id == "nowy")
{
$em->persist($plik);
$uploadableManager = $this->get('stof_doctrine_extensions.uploadable.manager');
$uploadableManager->markEntityToUpload($plik, $plik->getName());
$em->flush();
$this->get('session')->getFlashBag()->add('success','Dodano plik ');
}
/.../
}
форма строится с использованием следующей функции:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('oznaczenie')
->add('name', FileType::class)
->add('wgraj', SubmitType::class);
}
и мой класс сущности:
/**
* @ORM\Entity
* @ORM\Table
* @Gedmo\Uploadable
*/
class plik
{
/**
* @ORM\Column
* @Gedmo\UploadableFileName
*/
private $name;
/*
* @ORM\Column(type="string", length=100)
* @Gedmo\UploadableFilePath
*/
protected $path;
Я использую конфигурацию по умолчанию, как указано здесь https://symfony.com/doc/master/bundles/StofDoctrineExtensionsBundle/index.html.