在FileList[0]中保存多个文件



我有两个输入上传文件,相同的功能和文件保存在推送的数组中

manyImage = []
selectImage(event) {
if (event.target.files.length > 0) {
this.manyImage.push(event.target.files)
}
console.log(this.manyImage)
}

当我使用console.log(this.manyImage(时

输出:

(2) [FileList, FileList]
0: FileList {0: File, length: 1}
1: FileList {0: File, length: 1}
length: 2

我需要什么:

当我上传两次不同的输入文件,但相同的功能,输出将像这个

我想要的输出:

0: FileList {0: File, 1: File, length: 2}
length: 1

我想将所有文件保存在一个数组中,并保存在FileList[0]的索引中,请帮助

尝试从FileList创建一个数组,并将第一个FileList数组与下一个连接起来。

我不确定你的mayImage数组是只有零个还是一个项目。如果会的话,你可以试试这个片段:

if (this.manyImage.length == 0) {
this.manyImage.push(
Array.from(event.target.files)
);
} else {
this.manyImage[0] = this.manyImage[0].concat(
Array.from(event.target.files)
);

如果manyImage数组将包含多个项,则需要指定将两个FileList合并到哪个项中,然后才能调整代码段。

您可以使用ES6破坏:

selectImage(event) {
if (event.target.files.length > 0) {
this.manyImage.push(...event.target.files);
}
console.log(this.manyImage)
}

最新更新