2013-05-28 145 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很酷! –