如何从input type =“file”multiple中删除一个,两个文件?

时间:2016-08-05 13:38:09

标签: javascript

<input 
    type="file"
    id="fileElem" 
    multiple 
    accept="image/*"
    style="display:none"
    onchange="handleFiles(this.files)">

<a href="#" id="fileSelect">Select some files</a> 

<div id="fileList">
    <p>No files selected!</p>
</div>

当我选择5个文件时:如何动态删除其中的一些文件?

我知道所有文件How can I clear an HTML file input with JavaScript?

的清晰程度

1 个答案:

答案 0 :(得分:1)

$("#fileElem")[0].files是一个只读数组。

您可以通过将这些文件推送到单独的阵列来解决这个问题。然后,您可以使用精选的文件列表执行任何操作。如果将目标上传到服务器,则可以使用FileReader API。

下面是关于完全避免需要修改FileList的方法。步骤进行:

  1. 添加普通文件输入更改事件侦听器
  2. 从更改事件循环遍历每个文件,过滤所需的验证
  3. 将有效文件推送到单独的数组
  4. 使用FileReader API在本地读取文件
  5. 将有效的已处理文件提交至服务器