Php 如何使FileUpload对象在Symfony2中处理多个文件?

Php 如何使FileUpload对象在Symfony2中处理多个文件?,php,symfony,symfony-forms,Php,Symfony,Symfony Forms,我正在尝试创建一个包含多个文件字段的表单。由于文件非常模糊: 我决定使用W3CFileReaderAPI(基于下面的文档URL)来处理来自客户端的文件,并管理从视图到实体的底层数据。当前在客户端上支持拖放、元数据和多项选择 但是我想再给UploadedFile对象一次机会,我的主要问题是我不能在实体(FileUploadtype)中使用file属性来存储多个文件数据。我的输入如下所示: <input type="file" id="upload_files" name="

我正在尝试创建一个包含多个文件字段的表单。由于文件非常模糊:

我决定使用W3CFileReaderAPI(基于下面的文档URL)来处理来自客户端的文件,并管理从视图到实体的底层数据。当前在客户端上支持拖放、元数据和多项选择

但是我想再给UploadedFile对象一次机会,我的主要问题是我不能在实体(
FileUpload
type)中使用file属性来存储多个文件数据。我的输入如下所示:

<input type="file" id="upload_files" name="upload[files][]" required="required" multiple="multiple" />

理论上,如果我将名称设为数组,则fileUpload应该包含这些文件,但它不包含这些文件UploadedFile对象能否存储多个文件数据?还是单身?

还尝试初始化(在实体的
\u构造中)作为数组的
$files
属性,并修改
setFiles()
以存储新数组索引的
$this->files[]=$file。。。你知道

但Symfony告诉我例外情况:

表单的视图数据应为Symfony\Component\HttpFoundation\File\File类的实例,但为(n)数组。通过将“data_class”选项设置为null或添加将(n)数组转换为Symfony\Component\HttpFoundation\File\File实例的视图转换器,可以避免此错误

我不熟悉数据转换器。现在还不知道该怎么做。或者如果用每个文件数据获取UploadedFile对象真的很有用

在合成中使用此给定信息和下面的代码。有谁能帮我把FileUpload对象的文件数设置为正确的,而不仅仅是最后添加的文件数?谢谢

在github上进行回购:

为简洁起见,以下是相关文件:

  • 表格:

  • 实体:

  • 控制器(只需查看uploadAction):

  • 观点:

  • 在客户端处理文件的JavaScript(不影响服务器中的文件行为):


我创建了一个pull请求,修复了错误

现在要做的是为上传的文件创建唯一的文件名,然后对每个文件使用move方法。如果不移动它们,文件将无法保存


当我将mapped设置为false时,您的实体不包含这些文件。您必须使用刚创建的文件名创建一个数组来保存文件路径。

类似的内容?谢谢,这是一个实用的好例子,但它使用了集合类型。这意味着一堆单字段文件。我只需要一个具有多属性的字段。哇,看起来比我想象的简单多了。谢谢你,真的。让我试试。哈哈,这是我第一次使用github。我希望把它做好。除息的