如何在Javascript/Jquery中删除所选文件
How To Remove selected file in Javascript/Jquery
我有一个表单,允许用户上传多个图像。如果用户不想上传特定的图像,他们可以选择逐个删除图像。
现在,如何从他们删除的文件类型中删除值(例如,不想上传)?
我尝试过使用($('input').val("),但它只适用于单个图像,不适用于多个图像。如果我将其用于多个图像,那么所有上传的图像值都将变为空,而不是用户想要删除的特定图像。。以下是我的代码:-
HTML
<input type="file" id="files2" name="cert_img" multiple>
<output id="list2"></output>
Javascript
var count2=0;
function handleFileSelect2(evt) {
var $fileUpload = $("input#files2[type='file']");
count2=count2+parseInt($fileUpload.get(0).files.length);
var files = evt.target.files;
for (var i = 0, f; f = files[i]; i++) {
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
reader.onload = (function (theFile) {
return function (e) {
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" id="image_X" src="', e.target.result, '" title="', escape(theFile.name), '"/><span class="remove_img_preview"></span>'].join('');
document.getElementById('list2').insertBefore(span, null);
};
})(f);
reader.readAsDataURL(f);
}
}
$('#files2').change(function(evt){
handleFileSelect2(evt);
});
$('#list2').on('click', '.remove_img_preview',function () {
$(this).parent('span').remove();
//$('input').val("");
});
提前谢谢。。
根据这个问题,您不能更改FileList
的内容,因为它是只读的。
但是,如果您想删除FileList的文件,您可以创建一个新对象,并为其设置要上载的文件。然后使用创建的对象上传文件。运行我的示例并选择多个文件。然后单击要删除的任何文件。删除文件后,请参阅浏览器控制台。
var files;
$("#files").on("change", function(e){
files = $("#files")[0].files;
$.each(files, function(index, value){
$("ol").append("<li data-index='"+index+"'>"+ value.name +"</li>");
});
});
$(document).on("click", "li", function(){
var newFiles = {};
var index = $(this).index();
$("li:nth-child(" + (index + 1) + ")").remove();
$("li").each(function(index, element){
var dataIndex = $(element).attr("data-index");
newFiles[index] = files[dataIndex];
});
console.log(newFiles);
});
li:hover {
color: red;
cursor: default;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="file" id="files" multiple>
<ol></ol>
相关文章:
- Javascript:下载后从文件夹中删除文件
- 烧瓶 - 下载后删除文件
- 使用 jQuery 从 HTML 中的多个图像元素中删除文件路径
- 使用FSO创建或删除文件夹
- WinJS从LocalState文件夹中删除文件夹
- 使用 ajax 请求删除文件
- 没有文件写入的 PHP 脚本正在删除文件信息
- 如何使用javascript从文件夹中删除文件
- 使用 nodejs 下载文件后删除文件
- 如何在将文件发送到服务器之前删除文件
- 当我们使用 ajax post 请求上传文件时,如何取消将文件上传到服务器并删除文件(在上传未完成之间)
- PHP / js - 如何在页面卸载时删除文件
- 由于添加或删除文件而导致的文件冲突,引导弹出框不起作用
- 如何从Dropzone上传和删除文件.js
- 如何从 Node.js 访问、检索、存储和删除文件到远程文件服务器中
- 从 GridFS 中删除文件
- 删除文件时无法检测到 chrome 扩展名中的删除事件
- 取消链接代码以从服务器中删除文件的位置
- 如何从服务器中删除文件
- 通过 Web 界面从服务器中删除文件