首页 文章

使用Rails和Paperclip设置存储桶名称放置域样式(bucket.s3.amazonaws.com)

提问于
浏览
15

关于网址选项的Paperclip文档:

您可以选择将存储桶的名称放置为域样式(bucket.s3.amazonaws.com)或路径样式(s3.amazonaws.com/bucket) .

看起来像设置实际上将桶的名称放置为域式?我不能强迫回形针生成像bucket.s3.amazonaws.com这样的网址而不是s3.amazonaws.com/bucket .

3 回答

  • 4

    只需设置如下:

    Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
    

    或者像这样:

    Paperclip::Attachment.default_options.merge!(
      :url => ':s3_domain_url'
    )
    
  • 1

    :url:path 添加到 application.rbenvironment.rb 中的 Paperclip 默认选项

    config.paperclip_defaults = {
      storage: :s3,
      s3_credentials: {
        bucket: ENV['MY_S3_BUCKET_NAME'],
        access_key_id: ENV['AWS_ACCESS_KEY_ID'],
        secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
      },
      url: ':s3_domain_url',                                     # ADD THIS
      path: '/:class/:attachment/:id_partition/:style/:filename' # ADD THIS
    }
    
  • 14

    如果您的存储桶名称与DNS兼容,那么您可以创建网址.s3.amazonaws.com / object ....

    但如果它不兼容DNS,则无法按需创建 .

    谢谢

相关问题