javascript - jQuery AJAX 多个文件上传但使用 ajax 一次发送一个文件到服务器

标签 javascript jquery ajax

我有以下html

<form id="submit-form">
  <input type="file" id="resume" name="resume[]" class="inputFileHidden" multiple>
  <input type="submit">
</form>

我正在使用 ajax 使用 formdata 上传文件。问题是我不想使用 ajax 一次发送所有文件。相反,我想为每个 ajax 请求发送单个文件。

我使用以下 jQuery 代码上传文件

$('#submit-form').submit(function(e) {
  e.preventDefault();
  var formData = new FormData(this);
  var url = "upload-files.php";
  $.ajax({
    url: url,
    type: 'post',
    data: formData,
    success: function(response) {
      alert(response);
    },
    cache: false,
    contentType: false,
    processData: false
  })
})

最佳答案

你可以只使用 FormData 的 forEach 方法:

$('#submit-form').submit(function(e) {
  e.preventDefault();
  var formData = new FormData(this);
  var url = "upload-files.php";

  formData.forEach(function(entry) {
    if (entry instanceof File) {
      var fileForm = new FormData()
      fileForm.append('resume', entry)

      $.ajax({
        url: url,
        type: 'post',
        data: fileForm,
        success: function(response) {
          alert(response);
        },
        cache: false,
        contentType: false,
        processData: false
      })
    }
  })
})

关于javascript - jQuery AJAX 多个文件上传但使用 ajax 一次发送一个文件到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49570987/

相关文章:

javascript - PhantomJS/CasperJS 注入(inject)带有参数的脚本

javascript - Angular 2 添加/删除/选择全部 - 数组中的项目

javascript - poEdit 找不到我的占位符翻译

javascript - 在文本对象 HTML 中定义允许的字符

javascript - JQuery 将函数名传递给变量并调用它

javascript - 如何解决 jquery-mobile 的页面导航问题

javascript - jquery中的ajax请求如何处理504响应头?

javascript - React - 从 Ajax post 请求响应的元数据元素中获取 'message'

javascript - 如何创建一个用户无需重新加载网页即可访问的包含多个页面的网站?

javascript - 将垂直文本与上面的条对齐