2011-01-28 11 views
9

के माध्यम से छवि लाने के लिए पेपरक्लिप का उपयोग कर यूआरएल के माध्यम से एक छवि लाने के लिए संभव है? Fleximage के साथ यह संभव है, लेकिन fleximage रेलवे 3 के लिए कोई समर्थन नहीं है तो मैं पेपरक्लिप पर स्विच कर दिया है।पेपरक्लिप सीधे यूआरएल

वर्तमान में, मैं छवि को कर्ल के माध्यम से ला रहा हूं, इसे एचडीडी पर सहेज रहा हूं और इसे पेपरक्लिप के image_file के माध्यम से लोड कर रहा हूं।

मुझे Google के माध्यम से कोई वास्तविक समाधान नहीं मिला है, इसलिए उम्मीद है कि आप मेरी मदद कर सकते हैं।

+0

आप 'अपलोड' का अर्थ 'fetch' का उपयोग कर रहे हैं। सवाल यह स्पष्ट होगा कि अगर आप इसे स्पष्ट करना चाहते हैं कि आपका मतलब है 'अपलोड करें' और 'डाउनलोड' नहीं। कुछ जवाब मानते हैं कि आप डाउनलोड करने के बारे में पूछ रहे हैं। –

उत्तर

1

क्या <modelname>.<attachmentname>.url विधि आप जो भी खोज रहे हैं वह नहीं करते हैं?

दूसरे शब्दों में, अगर आपके मॉडल Foo कहा जाता है, और आप has_attached_file :bar के लिए सेट तो foo.bar.url अपनी छवि, का यूआरएल जो आपको एक image_tag या एक link_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

+0

यह आपके अपने सर्वर पर एक स्वतंत्र फ़ाइल बनाता है। मल्टीपार्ट फॉर्म के साथ एकमात्र अंतर यह है कि डेटा स्ट्रीम किसी अन्य स्रोत से आ रही है (उदा। इस मामले में यूआरएल)। पेपरक्लिप के पोस्ट प्रोसेसर छवियों को लात और आकार बदल देंगे और सहेज लेंगे –

संबंधित मुद्दे