【问题标题】:CarrierWave / Cloudinary give a url to upload imageCarrierWave / Cloudinary 提供上传图片的网址
【发布时间】: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


【解决方案1】:

正如 cmets 中提到的 jcm,我们可以使用:remote_attribute_url。就那么简单! 于是代码变成了:

my_model.remote_c_image_url = my_model.logo.url
my_model.save

【讨论】:

  • 谢谢!我只需要稍等片刻即可。
  • 但是我们如何使用carrierwave + cloudinary来使用它
猜你喜欢
  • 1970-01-01
  • 2021-10-27
  • 2013-06-04
  • 2016-12-22
  • 2016-09-20
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 2019-05-07
相关资源
最近更新 更多