Amazon s3 弹弓流星s3错误
恐怕我根本不明白这是怎么回事。弹弓怎么知道找到我s3水桶的地址?这完全由访问密钥决定吗 这是我在server/files.js中的代码:Amazon s3 弹弓流星s3错误,amazon-s3,meteor-slingshot,Amazon S3,Meteor Slingshot,恐怕我根本不明白这是怎么回事。弹弓怎么知道找到我s3水桶的地址?这完全由访问密钥决定吗 这是我在server/files.js中的代码: var imageDetails = new Mongo.Collection('images'); Slingshot.fileRestrictions("myImageUploads", { allowedFileTypes: ["image/png", "image/jpeg", "image/gif"], maxSize: 2 * 1024
var imageDetails = new Mongo.Collection('images');
Slingshot.fileRestrictions("myImageUploads", {
allowedFileTypes: ["image/png", "image/jpeg", "image/gif"],
maxSize: 2 * 1024 * 1024,
});
Slingshot.createDirective("myImageUploads", Slingshot.S3Storage, {
AWSAccessKeyId: "AWSAccessKeyId",
AWSSecretAccessKey: "AWSSecretAccessKey",
bucket: "mybucketname",
acl: "public-read",
region: "us-west-1",
authorize: function () {
if (!this.userId) {
var message = "Please login before posting images";
throw new Meteor.Error("Login Required", message);
}
return true;
},
key: function (file) {
var currentUserId = Meteor.user().emails[0].address;
return currentUserId + "/" + file.name;
}
});
这是我的settings.json文件
{
"AWSAccessKeyId" : "my access key",
"AWSSecretAccessKey" : "my secret access key",
"AWSBucket" : "mybucketname"
}
我在浏览器中遇到此错误:
已阻止跨源请求:同一源策略不允许读取位于的远程资源。(原因:缺少CORS标头“访问控制允许原点”)
但我的theportdata存储桶中有一个CORS配置
第一步,我想,有没有办法检查我的应用程序是否与我的s3存储桶有任何联系?就像我说的,我真的不明白弹弓是如何找到水桶的。
将“region:us-west-1”更改为“region:us-west-2”,并且可以正常工作。
也不需要AWSAccessKeyId和AWSSecretAccessKey,因为slingshot会自动从settings.json中找到它。
显然,地址所需要的只是存储桶名称和区域。