javascript - 如何从输入类型="file"多个中删除一、两个文件?

标签 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?

最佳答案

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

不过,您可以通过将这些文件推送到单独的数组中来解决此问题。然后,您可以使用该整理的文件列表执行任何您想要的操作。如果目标是将它们上传到服务器,您可以使用 FileReader API。

下面是一种完全避免修改 FileList 的方法。步骤:

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

关于javascript - 如何从输入类型="file"多个中删除一、两个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38790718/

相关文章:

javascript - 如何访问reactjs中另一个组件的功能?

javascript - 检测 Apache Cordova 和 JQuery 何时都准备就绪

javascript - 如何使用javascript将类名作为变量传递

javascript - Flask 如何处理 JSON?

javascript - AngularJS : Dependency injection ngResource

javascript - 红灯警告

javascript - jquery navigate + highlight <li> key.code pressed 上的元素

javascript - Google Analytics 事件跟踪 JS 在开发控制台中运行/工作,但不能从 ex 文件中运行/工作

javascript - 如何在 laravel 5 中删除此脚本 "/vendor/composer/installed.js"

javascript - 为什么 Opera Mini 有时会点击错误的链接