使用jQuery进行多文件上传[删除文件,然后再次添加]

时间:2014-08-02 08:53:13

标签: jquery file upload

我知道之前已经问过这个问题,但我遇到了多个文件上传的问题。我不想为此使用插件。我想上传多个文件,将其保存到数据库并将它们存储到一个文件夹中。在上传图像之前,我想以列表样式显示所有图像的名称。我有一个删除按钮,在您选择文件时动态添加。

$("#imagefile").on("change", function() {
  var filename = v.name;
  var newfilenameshufflen = $("#"+newfilenameshuff).length;
  if(newfilenameshufflen == 0 || newfilenameshufflen == "0") {
    $('.list-group').append("<li class='list-group-item' id='"+newfilenameshuff+"'><span class='span_image_title'>"+filename+"</span><span class='imagefilesize' id='"+imagefilesizeID+"'></span><span class='removeFile btn btn-primary'>Remove</span></li>");
  }
});

删除元素正在运行。将图像上传到数据库也正如预期的那样工作。但在上传所有文件之前,我想让用户在删除后添加相同的图像,但这不能按预期工作。除非在其上添加不同的文件名,否则无法使用相同的文件名添加相同的图像。

$(document).on("click", ".removeFile", function(e) {
    //clone the element and its children and remove the original
    var parentID = $(this).parent().attr('id');
    var parentEl = $("#"+parentID);
    parentEl.remove();
});

我希望能够自动选择同一个文件。如果有的话,如何重置输入文件,这不会影响所有其他所选文件?我一直坚持这个问题一天了。拜托,我不想使用任何插件。谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

$(document).on("click", ".removeFile", function(e) {
    //clone the element and its children and remove the original
    var parentID = $(this).parent().attr('id');
    var parentEl = $("#"+parentID);
    parentEl.remove();
    $("#imagefile").val('');
});

您需要将输入[type =“file”]值更改为空