问题描述
我正在使用 HTML5 构建一个拖放上传 Web 应用程序,我将文件放到一个 div 上,当然还获取了 dataTransfer 对象,这给了我 文件列表.
I'm building a drag-and-drop-to-upload web application using HTML5, and I'm dropping the files onto a div and of course fetching the dataTransfer object, which gives me the FileList.
现在我想删除一些文件,但我不知道怎么做,或者是否可能.
Now I want to remove some of the files, but I don't know how, or if it's even possible.
最好我想从 FileList 中删除它们;我对他们没有用.但如果这不可能,我是否应该在与 FileList 交互的代码中写入检查?这似乎很麻烦.
Preferably I'd like to just delete them from the FileList; I've got no use for them. But if that's not possible, should I instead write in checks in code that interacts with the FileList? That seems cumbersome.
推荐答案
如果你只想删除几个选定的文件:你不能.您链接到的 文件 API 工作草案 包含一条注释:
If you want to delete only several of the selected files: you can't. The File API Working Draft you linked to contains a note:
HTMLInputElement
接口[HTML5] 有一个 readonly FileList
属性,[…]
[强调我的]
The
HTMLInputElement
interface [HTML5] has a readonlyFileList
attribute, […]
[emphasis mine]
阅读一点 HTML 5 工作草案,我遇到了 通用 input
元素 API.看来您可以通过将 input
对象的 value
属性设置为空字符串来删除 整个 文件列表,例如:
Reading a bit of the HTML 5 Working Draft, I came across the Common input
element APIs. It appears you can delete the entire file list by setting the value
property of the input
object to an empty string, like:
document.getElementById('multifile').value = "";
顺便说一句,使用 Web 应用程序中的文件 文章可能也很有趣.
BTW, the article Using files from web applications might also be of interest.
这篇关于如何从 FileList 中删除文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!