【发布时间】:2015-06-16 10:27:32
【问题描述】:
所以.. 我是 Meteor 的新手,我正在尝试使用 edgee:slingshot 上传到 S3 存储桶。我在根目录中有一个包含以下信息的设置文件。
{
"AWSAccessKeyId": "Key",
"AWSSecretAccessKey": "Key"
}
在服务器端我有:
Slingshot.createDirective("Test", Slingshot.S3Storage, {
bucket: "test",
acl: "public-read",
key: function (file) {
return file.name;
}
});
在客户端我有:
var doc = document.implementation.createHTMLDocument("New Document");
var p = doc.createElement("p");
p.innerHTML = "This is a new paragraph.";
try {
doc.body.appendChild(p);
console.log(doc);
} catch(e) {
console.log(e);
}
var uploader = new Slingshot.Upload("Test");
uploader.send(doc, function (error, downloadUrl) {
if (error) {
console.error('Error uploading', uploader.xhr.response);
alert (error);
}
else{
console.log("Worked!");
}
});
我在 Windows 上使用 Meteor,错误是:
S3:AWS 密钥未定义
匹配错误:缺少“授权”密钥。
我不确定为什么会发生此错误,因此非常感谢您的帮助。
我正在使用meteor run --settings settings.json 运行我的settings.json,它运行良好。
【问题讨论】:
-
你在
settings.json上有那个键吗?如果是,你应该运行meteor meteor --settings settings.json -
是的!我正在运行
meteor run --settings settings.json。 -
似乎您缺少存储桶。
bucket String (required) - Name of bucket to use. The default is Meteor.settings.S3Bucket. -
如何在我的代码中实现它?对不起,我是这方面的初学者..
-
我从不使用 slingshot,也找不到
setting.json示例,但尝试使用"bucket":"S3Bucket"或Meteor.settings.S3Bucket
标签: node.js file-upload meteor amazon-s3 meteor-slingshot