2016-09-26 164 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