【发布时间】:2014-11-24 04:12:26
【问题描述】:
我正在从 Paperclip 迁移到 CarrierWave 和 Cloudinary,我想将我以前在 S3 上的所有图像存储迁移到 Cloudinary。
我目前的做法是这样做:
my_model.cloudinary_logo = open(my_model.logo.url)
my_model.save
但这迫使我下载文件然后上传到cloudinary,我不能只给它网址吗?
另一种方法是:
cloudinary_uploaded_file = Cloudinary::Uploader.upload(my_model.logo.url)
my_model.write_attribute :c_image, "v#{cloudinary_uploaded_file['version']}/#{cloudinary_uploaded_file['public_id']}.#{cloudinary_uploaded_file['format']}"
但在我看来这有点 hacky...
【问题讨论】:
-
查看他们的 GitHub 页面,您似乎只需要在模型上设置
attribute_name_here_url。 -
你在页面的什么地方找到的?
-
有一个“从远程位置上传文件”部分。 github.com/carrierwaveuploader/carrierwave
-
哦,对了!我去看看,谢谢指出。
-
工作就像一个魅力。
标签: ruby-on-rails carrierwave cloudinary