Amazon s3 弹弓流星s3错误

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

恐怕我根本不明白这是怎么回事。弹弓怎么知道找到我s3水桶的地址?这完全由访问密钥决定吗

这是我在server/files.js中的代码:

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中找到它。 显然,地址所需要的只是存储桶名称和区域。