使用 VichUploaderBundle 手动上传文件
2017-08-15
2177
我正在尝试使用 vichuploaderbundle 手动
my my my my my my my Entity Bookingorder链接到用户,还有其他字段并具有Vichupload字段。bookingorder entity:
598526533
控制器:
461869068
首先,我尝试 没有
323464969
但仅使用此方法:
230924821
在这种情况下,我没有错误,但是即使在数据库中,该文件也不会上传,即
更新date
经过了充分的修改。
正如我在其他主题上阅读的那样,我需要触发学说上传,这就是为什么我试图创建一个新的
fileupload
与测试字段相等的对象, > true
。
1个回答
我的错误是认为我需要指定 vichUploader 字段。
但我所要做的就是创建一个这样的 FormType:
namespace BookingBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use UserBundle\Form\UserBookingOrderType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
class BookingOrderType extends AbstractType {
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder
->add('user', UserBookingOrderType::class)
->add('drivingLicenceFile', FileType::class, array(
"label" => false
))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver) {
$resolver->setDefaults(array(
'cascade_validation' => true,
));
}
public function getBlockPrefix() {
return 'cp_create_booking_order';
}
}
在我的控制器中调用它:
$docForm = $this->createForm(BookingOrderType::class, $bookingOrder);
$docForm->handleRequest($request);
if ($docForm->isSubmitted() && $docForm->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($bookingOrder);
$em->flush();
return $this->redirectToRoute('platform_homepage');
}
最重要的是,不要忘记清除缓存!
现在,一切运行正常,上传性能完美
LedZelkin
2017-08-17