我有以下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/