【问题标题】:symfony form with new files via Vich Uploader带有新文件的 symfony 表单,通过 Vich Uploader
【发布时间】:2017-04-18 14:29:31
【问题描述】:

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

首先,我没有一个包含文件的实体,而是一个包含多个文件实体的实体。更清楚地说:实体DocumentFileoneToMany 关系。所以我用 CollectionType 构建了一个表单:

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

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

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

【问题讨论】:

    标签: php symfony doctrine vichuploaderbundle


    【解决方案1】:

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

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

    $entity = new Entity()
    $entity->addFile(new FileEntity())//Add an empty file object
    
    
    $form = $this->createForm(YourType::class, $entity);
    $form->handleRequest($request);
    

    【讨论】:

    • 好的,但我仍然有多个文件上传的主要问题。但是因为我的问题中没有真正指出,所以我会重新开始并接受您的回答
    猜你喜欢
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2017-06-26
    • 2019-03-06
    • 2019-10-17
    相关资源
    最近更新 更多