2011-01-28 70 views
9

它可以通過使用PaperClip通過網址獲取圖像?這可能與fleximage,但fleximage不支持Rails3,所以我切換到回形針。回形針通過網址直接獲取圖像

目前,我通過curl獲取圖像,將其保存在硬盤上並通過回形針的image_file加載。

我發現沒有真正的解決方案通過谷歌,所以希望你能幫助我。

+0

您正在使用「抓取」來表示「上傳」。如果你明確表示你的意思是「上傳」而不是「下載」,那麼問題會更加清楚。其中一些答案假設你在問如何下載。 – 2014-07-10 17:36:32

回答

1

<modelname>.<attachmentname>.url方法不是做你要找的東西嗎?

換句話說,如果你的模式被稱爲Foo,並且將它設置爲has_attached_file :bar然後foo.bar.url應該給你的圖片,網址,你可以放入你想要一個image_taglink_to或什麼的。

如果那不是你要找的東西,你能澄清你的意思嗎?

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 %> 

希望這有助於!

+0

但是,是否也可以從給定的網址下載圖片以在自己的服務器上擁有獨立的文件? – mrmnmly 2012-05-29 11:38:08