我正在尝试使用 JS 发送数组文件。我的代码:
var formData = new FormData();
formData.append("files", files);
$.ajax({
url: './upload.php',
method: 'post',
data: formData,
processData: false,
contentType: false,
success: function(response) {
alert('Files uploaded successfully. ');
console.log(response);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
}
});
在此图像中,您可以看到来自 php https://beta.ctrlv.cz/mUwx 的响应(红色)您还可以看到文件数组数据。我的 php 代码是:
<?php
echo $_POST['files'][0]["name"];
?>
我想使用php脚本进行上传,但是ajax没有发送文件数组,这对于上传很重要。
最佳答案
这是我找到的答案:
var data = new FormData();
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
现在您有了一个 FormData
对象,可以与 XMLHttpRequest 一起发送。
jQuery.ajax({
url: 'php/upload.php',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});
来源:https://stackoverflow.com/a/5976031/7282094
希望有所帮助。
关于javascript - 使用 Ajax 将 FileList 发送到 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44087239/