使用ajax jquery上传多文件,保存旧值

时间:2019-11-06 22:43:28

标签: jquery ajax laravel multifile multi-upload

我正在尝试使用jquery,ajax和laravel进行多文件上传,当我保存第一个选定的文件时,它工作正常,但是当我尝试更改选择的文件并选择其他文件时,它将保存旧文件重复值。 例如,如果我第一次选择4个文件,然后第二次单击我的输入文件以选择3个文件,它将保存旧的4个文件,如果我关闭模态并第二次打开它并单击在保存它保存thoose 4文件重复2次 这是我的代码:

//click on button newfile to show modal
$("#folder-files-list").on("click", ".newfile", function(e){
  $('#file_information').val("").empty("");

  //this is for showing the files before upload my input file is called file_information
  $("#modaluploadfile").on("change", "#file_information", function(e){
    var files = $(this).get(0).files;
    var list = Array();
    for (var i = 0, f; f = files[i]; i++) {
      list.push(f);
      $("#form_file_information").after(f.name);
    }
    //remove a specific file before upload
    $("#modaluploadfile").on("click", ".removeFile", function(e){
      e.preventDefault();
      var fileindex = $(this).attr("fileindex");
      list.splice(fileindex, 1);
      $(this).parents(".showFileInf").remove();
    });

    $("#modaluploadfile").on("click", "#addfile", function(e){
      e.preventDefault();
         //
        var formData=new FormData();
        for (var i = 0, f; f = list[i]; i++) {
          formData.append("file_information[]",f);
        }

        $.ajax({
          type : "POST",
          dataType:"json",
          url: 'files/upload',
          cache:false,
          contentType: false,
          processData: false,
          data: formData,
          success:function(data){
            console.log("good");
          }
        });
    });
  }); 
});

0 个答案:

没有答案