我想上传一个二进制文件(PDF是具体的)无效文件,这个JS-段:文件上传:在服务器上
function uploadFile() {
var reader = new FileReader();
var file = document.getElementById('uploadInput').files[0];
console.log(file.size);
var xhr = new XMLHttpRequest();
xhr.open('POST', 'custom?id=upload');
xhr.setRequestHeader("Content-Type", "application/pdf");
xhr.overrideMimeType('application/pdf');
reader.onload = function(evt) {
xhr.send(evt.target.result);
};
reader.readAsBinaryString(file);
}
在服务器端(Java)的我接收请求并将文件写入磁盘。
但是,当我打开PDF时,我得到了〜4MB的空间,而我只有空白页。
传入请求的头部还指定了一个〜4MB的内容长度,所以我相当肯定,它是在客户端上的东西,这是造成麻烦。
发送纯文本文件完全没有问题,它们完全按照它们应有的方式到达。
由于编写JavaScript和在网络上工作不在我的日常工作领域,所以很可能我做了一些基本上是错误的。