使用 formData() 上传多个文件 [英] Uploading multiple files using formData()
本文介绍了使用 formData() 上传多个文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
var fd = new FormData();
fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);
var xhr = new XMLHttpRequest();
xhr.open("POST", "uph.php");
xhr.send(fd);
uph.php:
var_dump($_FILES['fileToUpload']);
这有效,但显然仅适用于 files[0]
.如何让它对所选文件起作用?
This works, but obviously for the files[0]
only. How to get this working for chosen file?
我尝试删除[0]
,但是没有用.
I tried removing the [0]
, but it didn't work.
推荐答案
你必须在 JS 中获取要追加的文件长度,然后通过 AJAX 请求发送,如下所示
You have to get the files length to append in JS and then send it via AJAX request as below
//JavaScript
var ins = document.getElementById('fileToUpload').files.length;
for (var x = 0; x < ins; x++) {
fd.append("fileToUpload[]", document.getElementById('fileToUpload').files[x]);
}
//PHP
$count = count($_FILES['fileToUpload']['name']);
for ($i = 0; $i < $count; $i++) {
echo 'Name: '.$_FILES['fileToUpload']['name'][$i].'<br/>';
}
这篇关于使用 formData() 上传多个文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文