【问题标题】:Using multiple S3 buckets with carrierwave gem将多个 S3 存储桶与carrierwave gem 一起使用
【发布时间】:2012-03-28 08:54:04
【问题描述】:

我最近刚刚设置了我的 rails 3.2 应用程序以使用carrierwave gem 并将文件上传到 S3。我没有看到每个上传者使用不同存储桶的能力。有谁知道这是否可行?

【问题讨论】:

    标签: ruby-on-rails ruby amazon-s3 carrierwave


    【解决方案1】:

    存储桶是通过fog_directory 配置指定的。此配置选项是在上传器上定义的,可以简单地用您自己的方法覆盖。

    只需将以下内容添加到您的上传器:

    def fog_directory
      # your bucket name here
    end
    

    【讨论】:

      【解决方案2】:

      carrierwave wiki explains how to use a separate s3 bucket for each uploader:

      def initialize(*)
        super
      
        self.fog_credentials = {
          :provider               => 'AWS',              # required
          :aws_access_key_id      => 'YOURAWSKEYID',     # required
          :aws_secret_access_key  => 'YOURAWSSECRET',    # required
        }
        self.fog_directory = "YOURBUCKET"
      end
      

      【讨论】:

      • 我认为这是这个问题最正确的答案。
      【解决方案3】:

      CarrierWave 目前不支持多个存储桶。您可以通过向store_dir 添加前缀(文件夹)来分隔上传者之间的文件。如果这是你想做的事情,欢迎请求请求!

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 2021-02-28
      • 2017-12-13
      • 2020-05-29
      • 2018-06-02
      • 2018-11-10
      • 2021-07-11
      相关资源
      最近更新 更多