使用Rails和Paperclip设置存储桶名称的域名样式(bucket.s3.amazonaws.com)
关于url选项的Paperclip doc:
您可以选择将存储桶的名称放置为域样式(bucket.s3.amazonaws.com)或路径样式(s3.amazonaws.com/bucket)。
看起来设置实际上将桶的名称放置为域式? 我不能强制回形针生成像bucket.s3.amazonaws.com而不是s3.amazonaws.com/bucket这样的url。
只需设置如下:
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
或者像这样:
Paperclip::Attachment.default_options.merge!( :url => ':s3_domain_url' )
添加:url
和:path
application.rb
或environment.rb
Paperclip
默认选项的:path
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 }
如果您的存储桶名称与DNS兼容,那么您可以创建url.s3.amazonaws.com / object ….
但如果它不兼容DNS,则无法按需创建。
谢谢