2009-06-24 8 views
39

केस का उपयोग करें: उपयोगकर्ता किसी वेबपृष्ठ पर लिंक क्लिक करता है - बूम! अपने फ़ोल्डर में बैठे फाइलों का भार।
मैं multipart/mixed message का उपयोग करके फ़ाइलें पैक करने के लिए करने की कोशिश की, लेकिन यह केवल फ़ायरफ़ॉक्सएक HTTP अनुरोध के साथ एकाधिक फ़ाइलों को कैसे डाउनलोड करें?

यह कैसे मेरी प्रतिक्रिया लगता है कि है के लिए काम करने के लिए लगता है:

HTTP/1.0 200 OK 
Connection: close 
Date: Wed, 24 Jun 2009 23:41:40 GMT 
Content-Type: multipart/mixed;boundary=AMZ90RFX875LKMFasdf09DDFF3 
Client-Date: Wed, 24 Jun 2009 23:41:40 GMT 
Client-Peer: 127.0.0.1:3000 
Client-Response-Num: 1 
MIME-Version: 1.0 
Status: 200 

--AMZ90RFX875LKMFasdf09DDFF3 
Content-type: image/jpeg 
Content-transfer-encoding: binary 
Content-disposition: attachment; filename="001.jpg" 

<< here goes binary data >>--AMZ90RFX875LKMFasdf09DDFF3 
Content-type: image/jpeg 
Content-transfer-encoding: binary 
Content-disposition: attachment; filename="002.jpg" 

<< here goes binary data >>--AMZ90RFX875LKMFasdf09DDFF3 
--AMZ90RFX875LKMFasdf09DDFF3-- 

धन्यवाद

पी.एस. नहीं, ज़िप फ़ाइलें एक विकल्प नहीं है

+0

क्या वास्तविक प्रतिक्रिया है? या आपने प्रत्येक अनुलग्नक के लिए सामग्री-लंबाई जैसी चीज़ों को काट दिया? यदि यह काम नहीं करता है, तो मैं कम या ज्यादा मानता हूं कि यह वर्तमान वेब पेजों की वर्तमान पीढ़ी के साथ नहीं किया जा सकता है। – Joe

+1

इसका उद्देश्य क्या है? एक बेहतर तरीका हो सकता है ... –

+0

दरअसल, सामग्री-लंबाई की आवश्यकता भी नहीं हो सकती है कि मैं आरएफसी देख रहा हूं। – Joe

उत्तर

29

ज़िपिंग एकमात्र विकल्प है जिसका सभी ब्राउज़रों पर लगातार परिणाम होगा। यदि यह कोई विकल्प नहीं है क्योंकि आप नहीं जानते कि ज़िप को गतिशील रूप से उत्पन्न किया जा सकता है, तो वे कर सकते हैं। यदि यह कोई विकल्प नहीं है क्योंकि आपको ज़िप फ़ाइलों के खिलाफ परेशानी है, तो अच्छी तरह से ..

एमआईएम/मल्टीपार्ट ईमेल संदेशों और/या HTTP सर्वर पर POST ट्रांसमिशन के लिए है। इसे HTTP लेनदेन के ग्राहक पक्ष पर प्राप्त और पार्स करने का इरादा कभी नहीं था। कुछ ब्राउज़र इसे कार्यान्वित करते हैं, कुछ अन्य नहीं करते हैं।

एक और विकल्प के रूप में, आप व्यक्तिगत फ़ाइलों को डाउनलोड करने के लिए एक जावास्क्रिप्ट स्क्रिप्ट खोलने वाली खिड़कियां प्राप्त कर सकते हैं। या जावा ऐप्पल (मशीनों पर जावा रनटाइम की आवश्यकता होती है, यदि यह एक एंटरप्राइज़ एप्लिकेशन है, तो यह कोई समस्या नहीं होनी चाहिए [क्योंकि नेटएडमिन वर्कस्टेशन पर इसे तैनात कर सकता है]) जो उपयोगकर्ता की पसंद की निर्देशिका में फ़ाइलों को डाउनलोड करेगा।

+0

ज़िपिंग एक विकल्प नहीं है क्योंकि आवश्यकता है कि उपयोगकर्ता डाउनलोड के बाद अतिरिक्त ऑपरेशन करने के लिए न कहें। आपका बयान जो संदेशों को मल्टीपार्ट करता है, HTTP स्थानांतरण के लिए कोई इरादा नहीं है। उदाहरण के लिए, मल्टीपार्ट/फॉर्म-डेटा का उपयोग करके कई फाइलें अपलोड की जाती हैं। मुझे कोई कारण नहीं दिख रहा है कि बाइनरी डाउनलोड – zakovyrya

+1

@zakovyrya के लिए मल्टीपार्ट संदेशों को क्यों मनाया जाना चाहिए: मुझे उस अंतिम कथन को दोबारा दोहराएं। मल्टीपार्ट संदेशों को कभी भी प्राप्त नहीं किया गया था और एक HTTP लेनदेन के ग्राहक पक्ष पर पार्स किया गया था। –

+0

हू?आपको लगता है कि ब्राउजर से फाइल अपलोड कैसे करता है? – Einstein

1

इसे याद रखें> 10 साल पहले नेटस्केप में 4 दिन। इसने सीमाओं का उपयोग किया जैसे कि आप क्या कर रहे थे और उस समय अन्य ब्राउज़रों के साथ काम नहीं किया था।

हालांकि यह आपके प्रश्न का उत्तर नहीं देता है HTTP 1.1 अनुरोध पाइपलाइनिंग का समर्थन करता है ताकि कम से कम एक ही टीसीपी कनेक्शन को कई छवियों को डाउनलोड करने के लिए पुन: उपयोग किया जा सके।

0

आप एक HTML दस्तावेज़ में एक (बहुत छोटी) छवि को एम्बेड करने के लिए बेस 64 एन्कोडिंग का उपयोग कर सकते हैं, हालांकि ब्राउज़र/सर्वर स्टैंडपॉइंट से, आप तकनीकी रूप से अभी भी केवल 1 दस्तावेज़ भेज रहे हैं। हो सकता है कि आप यही करना चाहते हैं?

Embedd Images into HTML using Base64

संपादित करें: मैं सिर्फ महसूस किया कि सबसे तरीकों मैं अपने Google खोज में पाया केवल फ़ायरफ़ॉक्स, और नहीं आईई समर्थन करते हैं।

+1

पोस्ट किया जाएगा डेटा यूआरआई अब बहुत अच्छी तरह से समर्थित हैं (http://stackoverflow.com/questions/1765342/which-browsers-support-data-uris-and-since-which-version), लेकिन वे मदद नहीं करेंगे इस सवाल के साथ। – Brilliand

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