2012-08-11 8 views
5

का उपयोग कर S3 से वास्तविक फ़ाइल कैसे प्राप्त करें मेरे पास एक ऐसा एप्लिकेशन है जो फ़ाइल की सामग्री को पढ़ता है और उसे अनुक्रमित करता है। मैं उन्हें डिस्क में ही संग्रहीत कर रहा था, लेकिन अब मैं अमेज़ॅन एस 3 का उपयोग कर रहा हूं, इसलिए निम्न विधि अब और काम नहीं करती है।कैरियरवेव

def perform(docId) 
    @document = Document.find(docId) 
    if @document.file? 

     #You should't create a new version 
     @document.versionless do |doc| 
     @document.file_content = Cloudoc::Extractor.new.extract(@document.file.file) 
     @document.save 
     end 

    end 
    end 

@document.fileFileUploader देता है, और doc.file.fileCarrierWave::Storage::Fog::File वर्ग रिटर्न:

वह कुछ इस तरह था।

मैं असली फ़ाइल कैसे प्राप्त कर सकता हूं?

उत्तर

9

कॉलिंग @document.file.read आपको कैरियरवेव में एस 3 से फ़ाइल की सामग्री मिल जाएगी।

+1

जैकब, वाहकवेव Google समूह से 'ओपन (@ document.file.url)' के साथ हल हुआ ' –

+1

@ document.file.read शायद बेहतर है क्योंकि यह फ़ाइल संग्रहण का उपयोग किए बिना काम करेगा, यानी यह स्थानीय फाइल सिस्टम दोनों के साथ काम करता है और एस 3। –

+0

.read हमारे लिए काम नहीं करता है (हम वाहक के साथ संयोजन में क्लाउडिनरी का उपयोग कर रहे हैं) – Tibastral

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