我编写了创建多个HTML文件的代码。我正在尝试将这些文件直接上传到S3存储桶目录,而不将文件保存在本地。该怎么办?
我一直在用fs.writeFileSync(directory + title + '.html', data);
将文件保存在本地,我想我必须按照将data
传递到fs
流中的方式来做一些事情,但是我不知道不知道从哪里开始。
如果有人能帮助我并指出正确的方向,我将非常感激。谢谢!
编辑:即使当我尝试上传由我的代码生成并保存在本地的html文件时,它似乎也没有尝试上传该文件。这是我的代码的上传部分:
s3.upload(bucket, function(err, data){
if(err) {
console.log("Error: ", err);
} else {
console.log("Success: ", data.Location);
}
});
但是,它不会显示错误或成功消息。为什么会这样?
编辑2:这是我正在做的要点:
let aws = require('aws-sdk');
aws.config.update({
//Removed the strings for security reasons
accessKeyId: '*******',
secretAccessKey: '********'
});
let s3 = new aws.S3({
apiVersion: "2006-03-01",
});
//This lists all the buckets. It works correctly!
s3.listBuckets(function(err, data){
if(err){
console.log("Error: ", error);
} else {
console.log("Success: ", data.Buckets);
}
});
//This is where my program creates the HTML file.
//It concatenates various strings into one large string creating the entirety of the HTML file in one string variable called "data".
s3.upload({
Bucket: 'reporting',
Key: s3Folder + platformPath + '/' + browserPath + '/' + title + '.html',
Body: data
}, function (err, data) {
if (err) {
console.log("Error: ", err);
} if (data) {
console.log("Success: ", data.Location);
}
});
//When run, the program seems to not even enter the 's3.upload()' function.
//It doesn't return an error or success message.