对于使用Symfony 4编写的包VichUploaderBundle,我遇到了麻烦。我遵循了一个教程,使用VichUploaderBundle进行上传以上载多个文件。
我的问题是,上传文件的输入表单永远不会呈现。但我不觉得我的Type文件有什么问题。
在我的MemberType中,他能找到所有的争吵,我
...
->add('member_files', CollectionType::class, [
'label' => 'Add a file',
'entry_type' => MemberFilesType::class,
'allow_add' => true,
'allow_delete' => true,
'prototype' => true
])
...我的MemberFilesType是:
<?php
namespace App\Form;
use App\Entity\MemberFiles;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Vich\UploaderBundle\Form\Type\VichImageType;
class MemberFilesType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('imageFile', VichImageType::class, [
'required' => false,
'download_uri' => true,
'image_uri' => true
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => MemberFiles::class,
]);
}
}你有什么主意吗?
发布于 2019-09-14 08:20:25
如果您正在使用一个没有Member (空集合)的MemberFiles,那么这就是我们所期望的。没有集合条目,因为没有持久化,请尝试在创建表单之前向MemberFiles添加一个新的Member。
在您的控制器操作中:
if(empty($member->getMemberFiles())){
$member->addMemberFile(new MemberFiles());
}
$form = $this->createForm(MemberType::class, $member);https://stackoverflow.com/questions/57930087
复制相似问题