我有一个FileList对象,它保存以前上传的文档。我正在尝试使用另一个函数通过使用另一个FileList对象向此集合添加更多文件,因此我需要将辅助FileList对象“追加”到主要对象上。怎么可能实现这个目标?
答案 0 :(得分:9)
您必须先将FileList
个对象转换为数组,之后您只需concat
多个数组。
function toArray(fileList) {
return Array.prototype.slice.call(fileList);
}
var joined = toArray(fileListA).concat(toArray(fileListB));
答案 1 :(得分:1)
const filesArray = [...filesList1, ...filesList2];
console.log(filesArray) // [File, File, File, File, File, ...]
答案 2 :(得分:0)
所选答案将完全阐明路径。临时变量也可以在这里使用,如下所示:
var temp = files
files=Array.prototype.slice.call(temp).concat(Array.prototype.slice.call(event.target.files))
还可以在React中将文件设置为状态,可以在handleInputChange函数中使用以下代码:
var temp = this.state.files;
this.setState({
files: Array.prototype.slice.call(temp).concat(Array.prototype.slice.call(event.target.files))
})
答案 3 :(得分:0)
var fileLists = [fileListA, fileListB];
var files = fileLists.reduce(function(a, c) {
return Array.prototype.concat.call(Object.values(a), Object.values(c))
})