我正在尝试使用Symfony 3为我的应用程序实现文件上传功能。 我有一个产品entiry,它与File entiry有关系。产品 部分:Symfony 3文件上传
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\File", mappedBy="product")
* @ORM\OrderBy({"weight" = "DESC"})
*/
protected $files;
和现场的形式:
->add('files', FileType::class, array('multiple'=> true, 'data_class'=> 'AppBundle\Entity\File'));
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Product',
));
}
正如你所看到的,我设置data_class。
和控制器我试图把手形式
public function addAction(Request $request)
{
$em = $this->getDoctrine()->getManager();
$product = new Product();
$product->setAddedBy($this->getUser());
$form = $this->createForm(ProductType::class, null);
$form->handleRequest($request);
...
,我有一个错误:
Expected argument of type "AppBundle\Entity\File", "Symfony\Component\HttpFoundation\File\UploadedFile" given
如果我放弃data_class映射我没有错误,并且没有对象,只是数组。 如何解决这个错误,如何将UploadedFile转换为文件(完全)。我试图创建Transformer,但我刚刚获得了ProductEntiry类,并且因为结果无法处理它,因为它没有文件。
感谢您的回答。其作品 –