【问题标题】:Preventing duplicates when seeding with existing image using Paperclip + Amazon S3使用 Paperclip + Amazon S3 使用现有图像播种时防止重复
【发布时间】:2013-11-24 00:01:27
【问题描述】:

每次我在本地重新播种我的数据库时,都会在我的 Amazon S3 存储桶中创建重复的图像。我认为发生这种情况是因为我没有正确播种,但我不知道正确的方法。我一直在使用here 所示的方法。我正在使用 Rails 4、Ruby 2、回形针 3.5.2 和 aws-sdk 1.20.0。

您可以在我的seeds.rb 文件中看到下面的内容,我正在尝试将图像设置为已上传到我存储桶中正确文件夹的图像的 url。但是,我认为在这里使用open() 会导致将一个新的、相同的文件保存到同一个文件夹中,通常类似于http://s3.amazonaws.com/BUCKET_NAME/restaurants/images/1/original/open-uri20131111-22904-xvzitl.?1384211739

编辑:所以我的存储桶将同时存储此文件以及 http://s3.amazonaws.com/BUCKET_NAME/restaurants/images/1/original/NAME.jpg

非常感谢任何帮助!

型号

has_attached_file :image,
      :styles         => { :medium => "300x300>", :thumb => "100x100>" }

种子.rb

Restaurant.create!( name:         ...,
                    description:  ...,
                    image:        open('https://s3.amazonaws.com/<BUCKET NAME>/restaurants/images/1/original/<NAME>.jpg') )

config/initializers/paperclip.rb

Paperclip::Attachment.default_options[:storage]         = :s3
Paperclip::Attachment.default_options[:s3_credentials]  = {
                                                            :access_key_id => ENV['AWS_ACCESS_KEY_ID'],
                                                            :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
                                                          }
Paperclip::Attachment.default_options[:bucket]          = ENV['AWS_BUCKET']
Paperclip::Attachment.default_options[:url]             = ":s3_path_url"
Paperclip::Attachment.default_options[:path]            = "/:class/:attachment/:id/:style/:basename.:extension"
Paperclip::Attachment.default_options[:default_url]     = "https://s3.amazonaws.com/<BUCKET NAME>/images/missing.png"

【问题讨论】:

    标签: amazon-s3 ruby-on-rails-4 paperclip


    【解决方案1】:

    我参加这个聚会已经很晚了,但我认为其他人可能仍然遇到同样的问题。如果在删除它们之前将模型上的附件设置为 nil,则回形针将从 S3 中删除它们。

    【讨论】:

    • 我希望我能测试一下,但我不知道我是否还有这个应用程序。不过感谢您的提示!
    猜你喜欢
    • 1970-01-01
    • 2015-10-01
    • 2013-12-20
    • 2011-03-03
    • 2020-11-07
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多