我正在尝试在元素上使用新的 multiple="multiple" 属性。到目前为止,最近的 Gecko 和 WebKit 浏览器都支持这一点。我正在 Firefox 3.6 和 Chrome 5.0 上进行测试。
我可以很好地使用它,并显示文件列表(我以此为指导)。然而,令人沮丧的是,用户似乎不可能在添加文件后从该列表中删除文件。唯一的方法是单击“浏览...”按钮并选择一组新文件。
这是因为<input>
元素提供的 FileList 对象是只读的,如规范中所述(无法链接 - 请参阅 W3C 网站上的 FileAPI TR)。
当然有解决方法,例如保留“已删除”项目的列表,无论如何上传所有内容,然后忽略“已删除”项目。这有点脏,如果“删除”大量文件,可能会使上传速度慢得令人无法接受。
有谁知道任何其他解决方法,或者有更好的想法如何处理这个问题?目的是能够使用“多个”属性,并允许用户在上传之前从列表中删除文件。