我们有一种情况,我们想开始在 Amazon 的 S3 服务上托管图像,但是我们不想将所有现有图像上传到 S3,而是希望从它们托管的位置提供这些“旧”图像时刻和未来将所有新图像上传到 S3 并显然提供来自 S3 的图像。
有谁知道这是否可以使用 PaperClip 或 CarrierWave?
谢谢!
我们有一种情况,我们想开始在 Amazon 的 S3 服务上托管图像,但是我们不想将所有现有图像上传到 S3,而是希望从它们托管的位置提供这些“旧”图像时刻和未来将所有新图像上传到 S3 并显然提供来自 S3 的图像。
有谁知道这是否可以使用 PaperClip 或 CarrierWave?
谢谢!
如果您没有任何版本,请在此处执行此操作创建一个名为: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
虽然还没有测试过
希望这有帮助