回形针+ AWS S3,添加前缀,远程路径与本地路径(Paperclip + AWS S3, Pre

2019-10-18 21:07发布

我用回形针与轨道4的应用和Amazon S3存储。 在我的机器,该网站在运行

/Users/Jeff/Sites/example.com/web

当我上传文件回形针S3,S3中的远程路径继承我的本地文件夹结构。

http://s3.amazonaws.com/example_com_bucket/Users/Jeff/Sites/example.com/web/public/assets/uploads/my_class/8/medium/some_image.png?1383060287

这究竟是为什么? 如何剥离的那部分? 我试图改变:path属性,但只似乎影响了道路的“应用”部分(如后/assets/uploads )我的网站仍然在发展,所以我不关心有保持联系。

我的配置是...

  config.paperclip_defaults = {
    :storage => :s3,
    :path => '/:class/:attachment/:id_partition/:style/:filename',
    :s3_credentials => {
      :bucket => 'example_com_bucket',
      :access_key_id => '...',
      :secret_access_key => '...'
    }
  }

Answer 1:

我有此相同的问题时,我用的是:url参数,我应该用已:path参数:

has_attached_file :primary_photo,
                    :styles => ...,
                    :storage => :s3,
                    :s3_host_name => 's3-us-west-2.amazonaws.com',
                    :s3_credentials => 'config/s3.yml',
                    :url => '/product/:attachment/:id/:style/:filename'

我固定它通过改变我的配置这样的:

has_attached_file :primary_photo,
                    :styles => ...,
                    :storage => :s3,
                    :s3_host_name => 's3-us-west-2.amazonaws.com',
                    :s3_credentials => 'config/s3.yml',
                    :path => '/product/:attachment/:id/:style/:filename'


文章来源: Paperclip + AWS S3, Prefixing remote path with my local path