मेरे पास रूबी एप्लिकेशन है, और मुझे मौजूदा ज़िप फ़ाइल को संशोधित करने की आवश्यकता है।मैं केवल ज़िप में एक ज़िप फ़ाइल को कैसे संशोधित कर सकता हूं?
मैं ज़िप फ़ाइल को मेमोरी में बनाना चाहता हूं और फ़ाइलों को फाइल सिस्टम में कभी भी लिखने के बिना बाइट्स को स्ट्रीम करना चाहता हूं। अगर मैं हेरोोकू पर इसे होस्ट करना समाप्त करता हूं तो मुझे नहीं लगता कि मैं फाइल सिस्टम पर लिख सकता हूं। क्या किसी को ऐसा करने का तरीका पता है?
मैंने Zip::ZipFile पर देखा लेकिन ऐसा लगता है कि यह हमेशा फाइल सिस्टम को लिखना चाहता है। मुझे लगता है कि "जावा कार्यान्वयन के आधार पर" मैं संकुचित फ़ाइल के बाइट्स प्राप्त करने में सक्षम हूं, जिसे आप जावा में कर सकते हैं, लेकिन मुझे ऐसा करने का कोई तरीका नहीं दिख रहा है।
संपादित करें:
क्या मैं पूछ रहा हूँ मूल रूप से इस रूप में ही है, लेकिन अजगर के बजाय रूबी के लिए: Function to create in-memory zip file and return as http response
Tempfile फ़ाइल बनाने के लिए नहीं है? –
हां यह करता है, मार्क (जब तक आपकी अस्थायी निर्देशिका स्मृति में नहीं रहती), लेकिन रैली 25rs ने यह निर्दिष्ट नहीं किया कि वह फ़ाइल क्यों नहीं बनाना चाहता था।मैं एक धारणा बना रहा हूं जिसने मुझे एक समाधान के लिए प्रेरित किया है कि ए) हेरोकू पर ठीक काम करेगा, और बी) एक फाइल बनाता है, लेकिन एक रैली25rs को फिर से सोचना नहीं होगा, और ओएस द्वारा इसे साफ किया जाएगा। अगर यह उसकी मूल समस्या का समाधान नहीं करता है तो मैं जानना चाहता हूं। –
मुझे लगता है कि मेरा मूल उद्देश्य केवल पढ़ने-योग्य फाइलों के इस हेरोकू बाधा के आसपास काम करना था: http://docs.heroku.com/constraints#read-only-filesystem लेकिन मुझे लगता है कि मैं temp फ़ाइल को/tmp पर लिख सकता हूं यदि आवश्यक हो तो निर्देशिका। मैं रूबी के लिए काफी नया हूं, लेकिन जावा में इसे लागू करना पूरी फाइल को मेमोरी बफर में रखना बहुत आसान होगा, इसलिए मुझे लगा कि यह रूबी में भी होता। सहायता के लिए धन्यवाद! – CodingWithSpike