Paperclip直接通过url获取图像

时间:2011-01-28 15:45:43

标签: ruby-on-rails paperclip

可以使用PaperClip通过URL获取图像吗?灵活成像是可能的,但fleximage不支持Rails3,所以我已经切换到回形针。

目前,我正在通过curl获取图像,将其保存在硬盘上并通过paperclip的image_file加载。

我通过谷歌找不到真正的解决方案,所以希望你能帮助我。

2 个答案:

答案 0 :(得分:12)

是的,这是可能的,非常简单。

在你的模特中:

#we use this to get the image.
require 'rest-open-uri'
Class Model << ActiveRecord::Base
has_attached_file :picture

#Get the picture from a given url.
def picture_from_url(url)
    self.picture = open(url)
end

然后你可以这样做:

#controller
@model.picture_from_url(<Your URL here>)

因为我们用对象的其余部分保存了图像。您可以在视图中使用它:

<%= image_tag @model.picture.url %>

希望这有帮助!

答案 1 :(得分:1)

<modelname>.<attachmentname>.url方法不能做你想要的吗?

换句话说,如果您的模型被调用Foo,并且您将其设置为has_attached_file :bar,则foo.bar.url应该提供您的图片的网址,您可以将其放入image_tag 1}}或link_to或任何你想要的东西。

如果这不是你想要的,你能澄清一下你的意思吗?