Ruby 使用Rack::Cors上载图片不工作

Ruby 使用Rack::Cors上载图片不工作,ruby,amazon-s3,voltrb,Ruby,Amazon S3,Voltrb,我正在尝试将一些图片从我的控制器上传到AmazonS3上的存储桶中。我使用的是ruby Volt框架。为了做到这一点,我需要CORS,所以我正在使用。我已经在initializers/boot.rb文件中正确声明了它。此代码直接取自自述文件 Volt.current_app.middleware.use Rack::Cors do allow do origins '*' resource '*', :headers => :any, :methods => [:

我正在尝试将一些图片从我的控制器上传到AmazonS3上的存储桶中。我使用的是ruby Volt框架。为了做到这一点,我需要CORS,所以我正在使用。我已经在initializers/boot.rb文件中正确声明了它。此代码直接取自自述文件

Volt.current_app.middleware.use Rack::Cors do
  allow do
    origins '*'
    resource '*', :headers => :any, :methods => [:get, :post, :options]
  end
end
不幸的是,它不能正常工作。当我尝试将图片发布到S3时,出现以下错误:

XMLHttpRequest cannot load https://s3.amazonaws.com/bucket-name/uploads. 
No 'Access-Control-Allow-Origin' header is present on the requested resource. 
Origin 'http://localhost:3000' is therefore not allowed access. 
The response had HTTP status code 403.

你知道是什么导致了这种情况吗?

你能解释一下如何将文件上传到S3吗?我正在使用一点javascript通过XMLHttpRequest将图片发送到S3存储桶。我想从浏览器上传它,让S3响应图像的url,并将该url保存到服务器。我这样做是为了不必将图片上传到服务器,然后再从服务器上传到S3存储桶。这可能是AWS上的CORS配置问题,而不是Volt。你有吗?您需要在AWS管理控制台上执行此操作。您能解释一下如何将文件上载到S3吗?我正在使用一点javascript通过XMLHttpRequest将图片发送到S3存储桶。我想从浏览器上传它,让S3响应图像的url,并将该url保存到服务器。我这样做是为了不必将图片上传到服务器,然后再从服务器上传到S3存储桶。这可能是AWS上的CORS配置问题,而不是Volt。你有吗?您需要在AWS管理控制台上执行此操作。