我目前正在尝试使用aws-sdk和gulp将网站资产上传到亚马逊S3,但现在我只能使用下面的代码来上传单个文件:
gulp.task('publish', function() {
var AWS = require('aws-sdk'),
fs = require('fs');
AWS.config.accessKeyId = 'access_id';
AWS.config.secretAccessKey = 'secret_key';
AWS.config.region = 'eu-central-1';
var fileStream = fs.createReadStream('folder/filename');
fileStream.on('error', function (err) {
if (err) { throw err; }
});
fileStream.on('open', function () {
var s3 = new AWS.S3();
s3.putObject({
Bucket: 'bucket_name',
Key: 'assets/filename',
Body: fileStream,
ACL:'public-read'
}, function (err) {
if (err) { throw err; }
else { console.log("Upload successfull"); }
});
});
});
由于我既不是node.js开发者也不是JS开发者,所以我不知道如何将S3的assets文件夹中的所有资源上传。
理想情况下,应用我用来上传一个文件的操作,但对于每个文件都要执行此操作会很不错。这该怎么做呢?