javascript - 使用 AJAX javascript-php 上传多个文件(无 jQuery)
问题描述
我正在尝试将多个文件上传到运行 PHP 的服务器。我的代码如下,但我目前无法成功上传多个文件。我相信我的错误可能在我的 javascript 中,但我不确定在哪里。请问有人可以建议吗?根据我的代码,我收到“未收到文件”。
HTML:
<div>
<p><input id="file" type="file" name="file[]" multiple></p>
<div><button id="btn">Upload all files</button></div>
</div>
JAVASCRIPT:
document.getElementById('btn').addEventListener('click', function(){
var inputElem = document.getElementById('file');
var arrayFiles = inputElem.files;
var formdata = new FormData();
formdata.append('file[]', arrayFiles);
var xmh = new XMLHttpRequest;
xmh.onreadystatechange = function(){
if(xmh.readyState == 4 && xmh.status == 200){
var response = xmh.responseText;
console.log('response: '+response);
}
}
xmh.open('POST', 'serverFile.php');
xmh.send(formdata);
});
PHP:
if(isset($_FILES['file'])){
// DO SOMETHING
echo 'files received';
}else{
echo 'files not received';
}
解决方案
推荐阅读
- debugging - 如何从文件中间的一行开始重新运行调试?
- android - 如何在多显示器设备的第二个屏幕上启动应用程序
- javascript - 在盒子里着色
- node.js - 将文件添加到 webpack 中的热加载轨道列表
- python - 使用 matplotlib - python 仅保存图形本身
- javascript - 循环嵌套的对象数组
- javascript - 如何使用“for”和字符串替换?
- python - 如何将数组划分为总和最小的子数组
- javascript - 为什么当我单击“显示更多”按钮时没有删除类 - .menu-hidden
- terraform - Terragrunt 具有不同字段的模块的多个实例