【问题标题】:Amazon S3 REST API incorrect sizeAmazon S3 REST API 大小不正确
【发布时间】: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


【解决方案1】:

似乎 StackOverflow 也适合自己解决问题——我在完成想法时已经修复了它。看来xhr.send() 方法可以直接接收file.slice() blob,所以不需要FileReader

我希望这可以帮助其他偶然发现此问题的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-10
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2017-06-18
    • 1970-01-01
    • 2010-12-06
    相关资源
    最近更新 更多