【发布时间】:2012-09-15 14:32:25
【问题描述】:
我正在尝试实现一个 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 文件(1000 万行 0123456789)并且该文件可以正常工作。
如果有人对此问题有解决方案或偶然发现,请告诉我。
【问题讨论】:
-
您好,您有在 java 中使用 REST API 将文件上传到 amazon s3 的示例代码吗..如果有请发给我....
标签: javascript rest file-upload amazon-s3 filereader