<input type="file" name="file[]" id="mainFile" multiple="true" >这段代码可以选择多个文件,如果我选择了3个图片,之后需要删除第二张图片,请问我可以直接修改input的fileList吗,还是需要怎么做
时间: 2023-12-05 14:03:42 浏览: 158
更改input(file)样式
很抱歉,由于涉及到安全问题,JavaScript是不允许直接修改input的fileList的。如果需要删除某个文件,可以通过先将选择的文件列表存储在一个数组中,然后对数组进行修改,最后再将修改后的文件列表重新赋值给input的files属性。以下是一个示例代码:
```javascript
// 获取选择的文件列表
const fileList = document.getElementById('mainFile').files;
// 将文件列表转换为数组
const filesArray = Array.from(fileList);
// 删除第二个文件
filesArray.splice(1, 1);
// 将修改后的文件列表重新赋值给input的files属性
document.getElementById('mainFile').files = new FileList(filesArray);
```
需要注意的是,FileList是只读的,因此我们需要通过数组的方式进行修改。同时,由于重新赋值给input的files属性需要一个新的FileList对象,我们需要使用Javascript的File API来创建一个新的FileList对象。
阅读全文