在使用 Javascript 上传之前删除选定的文件

IT技术 javascript jquery image file-upload upload
2021-03-03 08:27:59

假设我有一个允许用户上传多张图片的表单,如果他们不想上传该特定照片,则附加了一个删除它们的选项。

是否可以从他们删除的文件对象中删除该值(例如,不想上传)?

3个回答

FileList 没有删除条目的 API:

https://developer.mozilla.org/en/DOM/FileList

但是,您可以使用 XHR2 和 AJAX 重建文件上传器并在那里过滤内容。这意味着要进行 XHR2 和 AJAX 上传,不适合传统<form>上传。

https://developer.mozilla.org/en/Using_files_from_web_applications

如果您使用带有一组标准文件输入的标准表单,那么您可以这样做http://jsfiddle.net/thXre/

$(document).ready(function(){
    $('.remove').click(function(){
        $(this).closest('div').slideUp('slow', function(){$(this).remove();});
    });        
});​

和html代码:

<div>
 <input type='file' name='files[]'> <img src='x.gif' class='remove'>
</div>
<div>
 <input type='file' name='files[]'> <img src='x.gif' class='remove'>
</div>
<div>
 <input type='file' name='files[]'> <img src='x.gif' class='remove'>
</div>
谢谢,我知道如何删除实际元素,但它正在将它们从包含在我感兴趣的 FileList 处理的上传中删除。
2021-05-13 08:27:59

在我们获得一些标准 API 之前,图书馆是你最好的选择……

它们也可以在https://cdnjs.com/ 上找到

2 年后...... FileList 仍然不以任何方式形状或形式支持删除其 API 中的条目。
2021-04-21 08:27:59
@bob_cobb 这是一个悲伤的未来 =)
2021-04-22 08:27:59
未来就在这里,仍在寻找删除文件的正确方法 ─ 似乎还没有。
2021-05-09 08:27:59