2013-05-28 97 views
8

我正试图从Amazon S3上的存储桶下载文件。我想知道如果我可以写一个JavaScript从桶中下载这样的文件。我在Google上搜索,但找不到任何可以帮助我做到的资源。Javascript从亚马逊S3水桶下载文件?

记住一些步骤:验证Amazon S3,然后通过提供存储桶名称和文件(密钥),下载或读取文件,以便我能够在文件中显示数据。

感谢,

+0

但它并非如此简单,因为我们需要处理Amazon S3凭证? – c0mrade

+1

只要用户“在”,它将工作得很好。 cookies让他们登录了一段时间,所以你不必为了链接工作而在S3的HTML页面上......如果你需要认证帮助,那真是另一个问题,但你需要在你之前回答它可以通过javascript自动化下载。 – dandavis

回答

16

也许你可以使用AWS Node.js API

var AWS = require('aws-sdk'); 
AWS.config.update(
    { 
    accessKeyId: ".. your key ..", 
    secretAccessKey: ".. your secret key ..", 
    } 
); 
var s3 = new AWS.S3(); 
s3.getObject(
    { Bucket: "my-bucket", Key: "my-picture.jpg" }, 
    function (error, data) { 
    if (error != null) { 
     alert("Failed to retrieve an object: " + error); 
    } else { 
     alert("Loaded " + data.ContentLength + " bytes"); 
     // do something with data.Body 
    } 
    } 
); 
+0

谢谢!我认为AWS Node.js正是我正在寻找的东西。 – c0mrade

+2

这里是感兴趣的AWS Node.js API中的[s3.getObject](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#getObject-property)的直接链接。 (data.Body).identify(function(err,value){});' –

+0

对于任何想要知道的人,'data.Body'是原始文件,可用于其他模块,如graphicsmagick:'gm很酷! –