2012-08-27 19 views
8

मैं S3 पर ActiveRecord मॉडल में अनुलग्नक स्टोर करने के लिए कैरियरवेव और कोहरे का उपयोग कर रहा हूं। मैं उन्हें यूआरएल उत्पन्न करने के लिए उपयोग कर सकता हूं, लेकिन मुझे वास्तव में फ़ाइल पढ़ने के लिए किसी भी विधि का पता लगाना प्रतीत नहीं होता है।क्या फॉग और कैरियरवेव का उपयोग करके फ़ाइल ऑब्जेक्ट को पढ़ने का कोई तरीका है?

क्या ऐसा कुछ है जो धुंध मणि भी करेगा, या मुझे इसके लिए एस 3 मणि का उपयोग करने की आवश्यकता है?

उत्तर

20

आप अपलोड करने वाले वस्तु पर read विधि का उपयोग कर सकते हैं। हम एक मॉडल है जो एक क्षेत्र attachment जो CarrierWave के mount_uploader विधि का उपयोग कर जोड़ा गया है कहा जाता है MyModel कहा जाता है, तो हम निम्न कर सकते हैं:

obj = MyModel.first 
contents = obj.attachment.read 

इस फ़ाइल के वास्तविक सामग्री मिल जाएगा। this doc देखें।

+0

सुपर, यह वैसे ही काम करता है जैसा आप कहते हैं। धन्यवाद! – AKWF

+0

निश्चित रूप से बेहतर +1 – apneadiving

+1

नहीं, यह स्थानीय_रूट सेट के साथ स्थानीय रूप से संग्रहीत फ़ाइलों पर * काम नहीं करता है। – AKWF

3

तुम बस की आवश्यकता होती है open-uri

require 'open-uri' 
file_contents = open(string_url) {|f| f.read } 
संबंधित मुद्दे

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