2012-08-02 16 views
5

मैं वर्तमान में अमेज़ॅन एस 3 में फ़ाइलों को अपलोड करने के लिए कैरियरवेव मणि के साथ रेल 3.2 का उपयोग कर रहा हूं। अब मुझे 5 जीबी से बड़ी उपयोगकर्ता द्वारा सबमिट की गई फ़ाइलों को संभालने में सक्षम होना चाहिए, जबकि अभी भी कैरियरवेव मणि का उपयोग करना है। क्या कैरियरवेव या धुंध की कोई अन्य रत्न या शाखाएं हैं जो 5 जीबी + फाइल अपलोड को एस 3 पर संभाल सकती हैं?मैं अमेज़ॅन एस 3 में 5 जीबी से बड़ी फ़ाइलों को कैसे अपलोड कर सकता हूं?

संपादित करें: मैं एक पूर्ण रेल अपलोडिंग समाधान को फिर से लिखना नहीं चाहता, इसलिए इस तरह के लिंक मदद नहीं करेंगे: https://gist.github.com/908875

+0

चेक बाहर http://blog.bitcast.io/post/43001057745/direct-multipart-uploads-to-s3-in-rails – Zach

उत्तर

6

मुझे पता चला कि यह कैसे करें और अब यह काम कर रहा है।

CarrierWave.configure do |config| 
    config.fog_attributes = { :multipart_chunk_size => 104857600 } 
end 

के बाद से कोहरे मणि (यह उनका कहना है के लिए Veraticus करने के लिए धन्यवाद) में बनाया गया बहुखण्डीय अपलोड किया है, उचित विन्यास सिर्फ जिम्मेदार बताते हैं: उचित config/environment फ़ाइल में निम्नलिखित अमेज़न S3 के लिए 100 एमबी मात्रा में फ़ाइलों को भेजने के लिए जोड़ कैरियरवेव के माध्यम से धुंध में पारित होने की आवश्यकता है। S3 को भेजते समय मुझे अक्सर Connection reset by peer (Errno::ECONNRESET) त्रुटियां मिलीं, इसलिए अपलोड के कुछ हिस्सों को पुनः प्रयास करना पड़ सकता है। s3_multipart मणि

-2

अपलोड करने से पहले आपको अपनी फ़ाइल को छोटे टुकड़ों में तोड़ने की आवश्यकता होगी।

निम्नलिखित पर एक नज़र डालें:

http://www.ruby-forum.com/topic/1282369

http://joemiller.me/2011/02/18/client-support-for-amazon-s3-multipart-uploads-files-5gb/

किसी भी तरह से, आप फ़ाइल को विभाजित करने की जरूरत है।

+0

मैं रूबी/रेल कोड के साथ सर्वर से स्वचालित रूप से ऐसा करने की जरूरत या रत्न, बाहरी कार्यक्रमों का उपयोग नहीं कर रहे हैं। – lee

+1

-1 तो आप ली के उपयोगकर्ताओं को कमांड लाइन टूल डाउनलोड करने की उम्मीद करते हैं, बड़ी फाइल को कई छोटे में विभाजित करते हैं, और फिर उन्हें अलग से अपलोड करते हैं? मुझे नहीं लगता कि यह पूछे गए प्रश्न का उत्तर है (या किसी भी तरह से व्यवहार्य समाधान)। –

+0

@ केन एंड ली, क्षमा करें दोस्तों मैंने निष्कर्ष पर कूदने की गलती की। अब मैं इस सवाल का जवाब देखने के लिए उत्सुक हूं। मैं इसका शोध कर रहा हूं और मुझे इसे पूरा करने का कोई तरीका नहीं दिख रहा है। – Dayan

6

आप S3's multipart upload functionality का उपयोग करना चाहते हैं। मददगार रूप से, धुंध वास्तव में मल्टीपार्ट एस 3 अपलोड को संभाल सकता है, क्योंकि आप in this pull request देख सकते हैं।

दुर्भाग्यवश, कैरियरवेव में इसका उपयोग सही ढंग से करने के लिए निर्मित कार्यक्षमता प्रतीत नहीं होती है। इसलिए आपको इस फ़ाइल को सही तरीके से अपलोड करने के लिए मैन्युअल रूप से कैरियरवेव संशोधित करना होगा या मैन्युअल रूप से कोहरे में ड्रॉप करना होगा।

+1

धन्यवाद, मैंने नहीं देखा था कि धुंध कार्यक्षमता कहीं भी दस्तावेज है। मैं कैरियरवेव को संशोधित करने की कोशिश करूंगा क्योंकि एस 3 के साथ मेरे सभी इंटरैक्शन उस जेम के माध्यम से किए जाते हैं। – lee

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