2011-01-28 6 views
9

PaperClipを使用してURL経由で画像を取得できますか?フレックスイメージでは可能ですが、fleximageはRails3をサポートしていないので、私はペーパークリップに切り替えました。ペーパークリップURLを使って直接画像を取得する

現在、イメージをカールで取り出してhddに保存し、クリップのimage_fileで読み込みます。

私はGoogle経由で実際のソリューションを見つけていないので、うまくいけば私を助けることができます。

+0

「フェッチ」は「アップロード」を意味しています。あなたが「アップロード」を意味し、「ダウンロード」を意味しないことを明確にするならば、質問ははるかに明確になります。いくつかの答えはあなたがダウンロードする方法を尋ねていると仮定しています。 –

答えて

1

<modelname>.<attachmentname>.urlメソッドは、あなたが探している方法ではありませんか?言い換えれば

、あなたのモデルがFoo呼び出された場合、あなたはhas_attached_file :barに設定し、その後foo.bar.urlあなたはimage_tagまたはlink_toまたは何でもしたいに入れることができ、あなたの画像のURLを与える必要があります。

あなたが探しているものでない場合は、あなたが意味するものを明確にすることができますか?

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

しかし、独自のサーバー上に独立したファイルを持つために、指定されたURLから画像をダウンロードすることは可能ですか? – mrmnmly

+0

これにより、独自のサーバー上に独立したファイルが作成されます。マルチパート形式との唯一の違いは、データストリームが別のソース(この場合はurl)から来ていることです。 Paperclipのポストプロセッサーは画像を取り込んでサイズ変更して保存します –

関連する問題