XMLHttpRequest内容长度不等于文件的实际大小
XMLHttpRequest content-length is not equal to the file actual size
我正在尝试使用XMLHttpRequest将文件(图像)上传到我的服务器端,好吧,我在发送之前检查了文件大小,并检查了请求头上的内容长度,它们不一样,下面是代码:
var file = 'someFile';
var readers = new FileReader();
readers.readAsBinaryString(file);
readers.onload = (function(theFile) {
return function(e) {
var myData = e.target.result;
console.log(myData.length); // this output is 5548
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
xhr.setRequestHeader('Content-Type', 'application/octet-stream;');
// send the collected data as JSON
xhr.send(myData );
xhr.onloadend = function () {
// done
};
})(file);
当我查看标题请求的内容长度时,我发现长度大于实际大小,有些数字大约是7500,
如何确保请求文件数据与文件的实际大小相同?
发送文件内容时,通常以base64编码字符串的形式发送。这将使请求的大小增加约30%。因此
console.log(myData.length); // this output is 5548
不是文件的大小,而是文件的长度。您可以使用File.name
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- PERL-下载CSV文件不完整
- CORS:访问控制允许原点不等于提供的原点
- AJAX上传文件不起作用
- 在Hapi.js中提供静态JavaScript文件不起作用
- Javascript的行为与PHP包含文件不一致
- 如果文件不存在,fs.watch是否有错误处理程序
- 从HTML链接时,Javascript文件不起作用
- Haskell调用Node.js文件不起作用
- 如何使用 Node.js 下载文件(不使用第三方库)
- 为什么我的 React getDOMNode().textContent JavaScript 字符串不等于字符串
- Expressjs 静态文件不起作用
- 为什么PHP文件不用于(自定义)CSS和JS
- 使用 WebAPI 和 IE8/9 上传剑道文件不正确的错误消息
- NodeJS和ExpressJS-Javascript文件加载,但CSS文件不加载;t
- 通过ajax上传文件不会在MVC中的请求中附加文件
- 使用chrome.downloads.download,是否可以使文件不弹出下载栏
- 为什么我的css文件不能与MCV项目一起使用
- 在JavaScript中,是否存在空字符串不等于空字符串的情况
- XMLHttpRequest内容长度不等于文件的实际大小