0

我们有一种情况,我们想开始在 Amazon 的 S3 服务上托管图像,但是我们不想将所有现有图像上传到 S3,而是希望从它们托管的位置提供这些“旧”图像时刻和未来将所有新图像上传到 S3 并显然提供来自 S3 的图像。

有谁知道这是否可以使用 PaperClip 或 CarrierWave?

谢谢!

4

1 回答 1

0

如果您没有任何版本,请在此处执行此操作创建一个名为:s3_version(任何您喜欢的)的版本

像这样的东西

class YourUploader < CarrierWave::Base

storage :file

version :s3_version do 
  storage :fog
  ## As far as I know it would save the file with appending 's3_version_(your_file_name)
  
  def full_filename(for_file)
    super.gsub(/s3_version_/,"")
  end

  def filename
    self.to_s.gsub(/s3_version_/,'')
  end
end

我认为这可以满足您file在本地和上存储的所有要求S3

警告 :

    I haven't tested this with multiple version 

但我想这也可以用:from我相信的条款来完成

像这样的东西

   version :thumb do
        process resize_to_fill: [280, 280] 
     end
 
     version :s3_thumb, :from_version => :thumb do
        storage :s3
      end

虽然还没有测试过

希望这有帮助

于 2013-07-27T03:25:19.203 回答