【问题标题】:Carrierwave get image by urlCarrierwave 通过 url 获取图像
【发布时间】:2016-08-22 08:34:07
【问题描述】:

我需要通过 url 获取一些图片。

网址类似于http://img.wallsbay.com/large/2014/05/2665.jpg,但 2014 和 2665 正在更改。

我的控制器有这个参数:

  def image_params
    params.require(:image).permit(:content, :remote_content_url, :id)
  end

我试图从这样的 url 获取图像:

@image.remote_content_url = 'http://img.wallsbay.com/large/#{:content}/05/#{:id}jpg'

但是 remote_content_url 是未定义的方法。

【问题讨论】:

    标签: ruby-on-rails ruby carrierwave image-upload


    【解决方案1】:

    remote_<attr_name>_url 属性是通过给定的 URL 上传图片。

    @model.remote_content_url = "http://img.wallsbay.com/large/2014/05/2665.jpg"
    @model.save
    @model.content_url // => "<upload-dir>/2665.jpg"
    

    使用@model.content_url 检索上传图片的网址。

    要应用转换,请使用@model.content_url(:square)

    【讨论】:

    • 我想上传多张图片但我不能使用remote__url .
    • Carrierwave 不能像这样处理多路上传。您需要为每个图像创建一个记录。我会考虑使用dropzone.js 来实现这一点。
    • 我现在不需要 dropzone.js。我需要使用 remote_content_url 但未定义。
    • 能否提供所有代码的完整上下文或示例?
    • 这基本上是代码,但我想知道为什么我不能使用 remote_content_url。我应该在哪里定义它?我在 rails 3 中看到你应该使用 attr_accsesible 作为 remote_content_url 但我不知道如何在 rails 4.2.6 中做到这一点。
    【解决方案2】:

    我通过将attr_accessor :remote_content_url 添加到我的图像模型中来解决此问题。

    【讨论】:

      【解决方案3】:

      假设 content 是您用于 Carrierwave 的属性,则获取图像 URL 的正确方法是 @image.content.url

      【讨论】:

      猜你喜欢
      • 2019-01-06
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-08
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多