我正在开发一个脚本,该脚本应该显示已上传文件的上传百分比(非常简单的内容)。
我遵循了this的示例,并且在安全方面做了一些细微的修改。
在阅读了git上的所有注释之后,我认为它可以很好地工作-但是由于某些原因,当我尝试在 PHP 中输出$_FILES
数组时,它会返回一个空数组。
JavaScript( static.example.com/uploader.js
):
let formData = new FormData(),
xhr = new XMLHttpRequest();
// file is defined earlier
formData.append("file", file);
xhr.open("POST", "//ajx.example.com/upload.php");
xhr.onprogress = function(e){
console.log("Uploading");
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status == 200)
console.log("Server response:", JSON.parse(xhr.responseText));
else
return console.error("There was an error.");
}
}
xhr.send(formData);
PHP (ajx.example.com/upload.php
):
header("Access-Control-Allow-Origin: http://www.example.com", false);
header("Content-type: application/json;charset=utf-8", false);
/*
* returns array(0){}
*/
echo var_dump($_FILES);
die();
我不知道为什么会这样,而且我的代码似乎还不错。
感谢所有帮助,
干杯。
编辑:
我注意到上传器在一些文件上可以正常工作。 php.ini
已为所有内容正确配置。但是,如果我测试了两个 mp3 文件(例如),则 mp3 文件之一将无法工作。好像有些文件已损坏-但它们没有损坏。