1

我正在尝试为我的应用构建更智能的上传结构。到目前为止,我已经有了在控制器中上传文件的代码,而且一切都更加手动。现在我想在 Symfony 中使用 VichUploader,但是我在用多个文件实现它时遇到了问题。

首先,我没有一个带有文件的实体,而是一个拥有多个文件实体的实体。更清楚地说:实体Document与. 所以我用 CollectionType 构建了一个表单:oneToManyFile

$builder->add('files', Type\CollectionType::class, [
    'entry_type' => Type\FileType::class
])

但是因为当我添加新文档时还没有文件,所以没有显示上传字段。即使已经有文件(在编辑表单上),也不应该显示上传字段,而是显示带有文件名的文本字段。

我怎样才能做到这一点?我还需要添加一个具有多个 FileType 的映射字段 files_new() 吗?那么 VichUploader 自动的东西就不起作用了。

4

1 回答 1

0

如果你传递一个空文件对象,你应该有你的 html 文件输入,因为它是一个集合

在您的控制器中(我没有您的代码)

$entity = new Entity()
$entity->addFile(new FileEntity())//Add an empty file object


$form = $this->createForm(YourType::class, $entity);
$form->handleRequest($request);
于 2017-04-18T14:42:42.277 回答