我正在尝试使用原生javascript和XMLHttpRequest
将文件上传到我的PHP Slim Web应用程序。这是我的代码:
var formdata = new FormData();
var xhr = new XMLHttpRequest();
xhr.open('POST', '/foo/bar', true);
xhr.setRequestHeader('Content-Type', 'multipart/form-data');
xhr.setRequestHeader('X-File-Name', file.name);
xhr.setRequestHeader('X-File-Size', file.size);
xhr.setRequestHeader('X-File-Type', file.type);
formdata.append("thefile", file);
xhr.upload.addEventListener('progress', function (e) {
if (e.lengthComputable) {
console.log((e.loaded / e.total) * 100);
}
}, false);
return xhr.send(formdata);
根据开发工具,请求已填充并正确发送:
如果我用基本的HTTP表单POST替换javascript处理,那么文件在$ _FILES数组中可见。很明显,问题在于我的javascript代码,或者是关于服务器不喜欢的javascript上传的内容。
有没有人发现我的javascript代码存在任何问题,或者之前遇到过类似问题?
谢谢!