Amazon S3 REST API大小不正确
Amazon S3 REST API incorrect size
我试图实现一个HTML5 Amazon S3上传器(通过使用REST API),无意中发现了以下问题:当试图上传一个小的文本文件时,一切都像一个魅力。当试图上传一个二进制文件时,S3上的文件会变大,而且显然已经损坏。我在做什么:
// multipart upload init / finish code hidden; if you need it, I'll add it
// file is read by using a file input
var blob = file.slice(start, end);
var reader = new FileReader();
reader.readAsBinaryString(blob);
// in reader.onloadend:
var path = "/" + settings.key;
path += "?partNumber=" + chunk + "&uploadId=" + u.upload_id;
var method = "PUT";
var authorization = "AWS " + settings.access_key + ":" + signature;
var xhr = new XMLHttpRequest();
xhr.open(method, settings.host + path, true);
xhr.setRequestHeader("x-amz-date", date);
xhr.setRequestHeader("Authorization", authorization);
// application/octet-stream used
xhr.setRequestHeader("Content-Type", settings.content_type);
xhr.send(e.target.result);
此外,我还尝试创建一个10mb的文本文件(0123456789的1000万行),该文件工作正常。
如果有人能解决这个问题,或者偶然发现了这个问题,请告诉我。
StackOverflow似乎也很适合自己解决问题——我刚刚把我的想法写下来就解决了。似乎xhr.send()
方法可以直接接收file.slice()
blob,因此不需要FileReader
。
我希望这能帮助其他偶然发现这个问题的人。
相关文章:
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- Amazon S3 REST API大小不正确
- Javascript Reg Exp不正确匹配
- DIV并排,位置不正确
- 仅在IE中,javascript中的时区名称不正确
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 你能解释一下为什么这个javascript不正确吗
- 从int值来看,Javascript日期不正确
- jQuery-迭代不正确?(太长,无法执行)
- 谷歌地图API'.pac项目:first'返回格式不正确
- Angular promise从JSON API返回不正确的数据
- 使用 Javascript/JQuery 使用 Ajax 加载 Google Maps API,回调设置不正确
- Web Audio API - Javascript 创建的 WAV 文件长度不正确且无声
- 谷歌地图api v3加载不正确
- 谷歌地图Javascript API加载不正确
- "格式不正确的JSON流”;当从SharePoint 2013 REST API对文件使用moveto或cop
- Soap API错误-不正确的类型
- 谷歌图表API:显示不正确的日期
- JSON数据在C#Web API中解析不正确
- Google联系人API错误:通过脚本加载请求超时.可能的原因:源URL不正确;提要需要身份验证