我正在尝试将文件从我的本地文件系统 (/local/dir/file.png) 上传到我的 AmazonS3 存储桶 (bucket/dir/file.png)。我正在使用 node-webkit 和 aws2js。我的代码看起来像..
s3 = require('aws2js').load('s3', "AWS_KEY", "AWS_SECRET").setBucket("bucket");
var key = '/dir/file.png'
var path = '/local/dir/file.png'
s3.putFile(key, path, "public-read", {}, function (err,data) {
if(err) console.log(err);
console.log(data);
});
以下错误不断传递给回调并且文件未上传..
Error { code: "EACCES", errno: "EACCES", syscall: "spawn" }
我已经阅读了一些内容。据我所知,这是一个权限问题。我的问题是我需要更改哪些权限才能解决错误?
更新 :
我刚刚尝试使用较低的函数调用 put 上传一个字符串,它上传了对象..这向我表明它不是 S3。
s3.put(key, {}, "somestringcontent", function (err,data) {
if(err) console.error(err);
console.log(data);
})
然后我尝试了以下..这也有效。
var file = fs.readFileSync(path);
s3.put(key, {}, file, function (err,data) {
if(err) console.error(err);
console.log(data);
})
但是当我尝试以下..它失败了!
s3.put(key, {}, {file:path}, function (err,data) {
if(err) console.error(err);
console.log(data);
})