2016-09-26 168 views
-1

我想編寫一個JavaScript代碼,它可以在點擊一個按鈕後從S3下載某個文件。你能向我提出一些可以工作的東西嗎?從S3下載文件

回答

1

從S3下載文件是通過SDK的GetObject方法完成的。大約在javascript使用AWS SDK

var params = { 
    Bucket: 'STRING_VALUE', /* required */ 
    Key: 'STRING_VALUE', /* required */ 
    IfMatch: 'STRING_VALUE', 
    IfModifiedSince: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789, 
    IfNoneMatch: 'STRING_VALUE', 
    IfUnmodifiedSince: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789, 
    Range: 'STRING_VALUE', 
    RequestPayer: 'requester', 
    ResponseCacheControl: 'STRING_VALUE', 
    ResponseContentDisposition: 'STRING_VALUE', 
    ResponseContentEncoding: 'STRING_VALUE', 
    ResponseContentLanguage: 'STRING_VALUE', 
    ResponseContentType: 'STRING_VALUE', 
    ResponseExpires: new Date || 'Wed Dec 31 1969 16:00:00 GMT-0800 (PST)' || 123456789, 
    SSECustomerAlgorithm: 'STRING_VALUE', 
    SSECustomerKey: new Buffer('...') || 'STRING_VALUE', 
    SSECustomerKeyMD5: 'STRING_VALUE', 
    VersionId: 'STRING_VALUE' 
}; 
s3.getObject(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 

的更多信息,可以發現here使用getObject方法只能下載一個文件

+0

?有多個文件(對象)可能與參數匹配? – CrazySynthax

+1

當您在params中指定Key時,GetObject將返回一個文件。關鍵是獨特的。請參閱[對象鍵](http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#object-keys)以獲取更多關於密鑰 – DieterC

+0

的信息。它在控制檯中返回一個文件對象,但我想從瀏覽器開始文件下載。我該怎麼做? – CrazySynthax