2008-10-31 12 views
15

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

यदि संभव हो तो मैं फ्लैश या वेरिएंट से बचना पसंद करूंगा। यदि यह संभव हो तो मैं सीधे जावास्क्रिप्ट/एचटीएमएल समाधान की तलाश में हूं। कृपया ध्यान दें, यह उत्तर: What is the best client side browser library to upload multiple files over http? पर उत्तर देता है।

+0

सबसे अच्छा तरीका: एफ़टीपी –

+0

डायोडियस: आपको इसे एक उत्तर के रूप में पोस्ट करना चाहिए। – eyelidlessness

उत्तर

24

आप केवल HTML और जावास्क्रिप्ट के साथ ऐसा करने में सक्षम नहीं होंगे। मैं एकाधिक फ़ाइल अपलोड के लिए , MooTools प्लगइन की कोशिश करने की अनुशंसा करता हूं। यह जावास्क्रिप्ट और फ्लैश के मिश्रण का उपयोग करता है, लेकिन शानदार ढंग से घटता है। यह आईई 6 समेत सभी प्रमुख ब्राउज़रों के साथ काम करता है और डाउनलोड के लिए फ्लैश 10 संगत रिलीज भी उपलब्ध है (हालांकि डेमो अभी तक अपडेट नहीं किया गया है)।


अद्यतन (2012-11-26):

एकाधिक फ़ाइल अपलोड valums या blueimp फ़ाइल अपलोड करने वाले व्यक्तियों के साथ संभव हो रहे हैं।

रिकर्सिव निर्देशिका अपलोड, आपका सबसे अच्छा समाधान Chrome 11's new folder upload API का उपयोग कर रहा है। यदि आप एक विक्रेता उपसर्ग का उपयोग करते हैं तो यह फ़ायरफ़ॉक्स पर भी काम करता है।

+6

अपना उत्तर अपडेट करने के लिए उपरोक्त। – Kaganar

+1

यदि आपके पास webkitdirectory विशेषता सेट है तो एकल फ़ाइलों के साथ-साथ फ़ोल्डर अपलोड करना संभव नहीं है? यह अजीब बात है कि यह एक या/या चीज़ है ... साथ ही, क्या मैं केवल एक निर्देशिका अपलोड कर सकता हूं या क्या मैं एकाधिक विशेषता सेट के साथ एक जोड़े चुन सकता हूं? –

+0

यह एक पुराना सवाल है और स्वीकृत उत्तर अब पुराना है। कई कार्य समाधानों के लिए इस प्रश्न का मेरा उत्तर देखें https://stackoverflow.com/questions/42239663/upload-folder-and-all-its-content-in-javascript/45223463#45223463 – CaseyC

3

आप फ्लैश से परहेज कर रहे हैं (और शायद जावा?) जे एस/एचटीएम्एल समाधान अभी भी एकल फ़ाइल की आवश्यकता input है, लेकिन अनिवार्य रूप से आप अपने input के लिए एक onchange घटना देते हैं, डोम जब भी करने के लिए एक नया input जोड़ने एक फाइल का चयन किया जाता है।

+0

क्या किसी विशेष फ़ोल्डर में फ़ाइलों की सूची प्राप्त करना संभव है, और स्वचालित रूप से इनपुट नियंत्रण में फ़ीड करें? – torial

+0

मैंने टिप्पणियों से अपने प्रश्न के उत्तर दिए: http://www.codeproject.com/KB/scripting/search_in_files.aspx – torial

+0

हालांकि, मुझे मिली समस्या/समस्या यह है कि इसे ActiveX की आवश्यकता है। और उस समय, मैं फ्लैश का भी उपयोग कर सकता हूं: -/ – torial

1

यह एक शुद्ध जेएस/एचटीएमएल समाधान नहीं है। जैसा कि लुप्तप्राय मासा ने बताया है, यह संभव नहीं है। वास्तव में, यह विचार एक आईई/विंडोज केवल समाधान है। मैं इसकी अनुशंसा नहीं करता, लेकिन यह काम कर सकता है।

तो, सब तरफ अस्वीकरण ...

कई साल और कई नियोक्ताओं पहले, हम कुछ क्लाइंट साइड सामान कि FileSystemObject instantiated करते थे। यह प्रत्येक फाइल के माध्यम से फिर से शुरू होगा और एक समय में सर्वर के माध्यम से उन्हें पास करेगा। हमने यह कैसे याद किया कि हमने यह कैसे किया है: ओ (

वैसे भी, इसका आमतौर पर यह मतलब था कि क्लाइंट बॉक्स को साइट को विश्वसनीय साइटों की सूची में जोड़ना होगा और विश्वसनीय साइटों को अनुमतियों का एक समूह देना होगा बंद कर दिया गया है (बहुत अच्छे कारणों से)। सक्रिय करने और स्क्रिप्ट ActiveX नियंत्रण को सुरक्षित के रूप में चिह्नित करने की क्षमता जैसी सामग्री को सुरक्षित नहीं किया जाता है।

मुझे पता है कि यह एक सही उत्तर नहीं है, लेकिन यह आपको इंगित कर सकता है सही दिशा एफ़टीपी में।

2

? और एनईसीएस अगर, जावा एप्लेट, ActiveX में लपेट या जो भी आप चाहते हैं।

यदि नहीं, हालांकि आप फ्लैश नहीं चाहते हैं, तो SWFUpload काफी अच्छा है, आप इसे एक सभ्य विकल्प के रूप में पुनर्विचार करना चाह सकते हैं।

1

Here ExtJS पुस्तकालय

+1

यह एकाधिक फ़ाइलों के लिए काम करता है, लेकिन नहीं फ़ोल्डर के लिए। Http://stackoverflow.com/a/13486123/486547 – mikermcneil

+0

देखें 'अपलोड फ़ोल्डर' से आपका क्या मतलब है? वैसे भी फ़ोल्डर में निहित फाइलें होंगी। – Thevs

+0

आप फ़ाइल अपलोड बॉक्स (यानी http://imgur.com/Cl1RB) का उपयोग करके एकाधिक फ़ाइलों को अपलोड करने के लिए मानकों-आधारित तकनीक का उपयोग कर सकते हैं, लेकिन आप वास्तव में एक फ़ोल्डर (http://imgur.com/2dZtS) नहीं चुन सकते हैं और इसकी सामग्री दोबारा अपलोड की गई है। ऐसा करने के लिए, आपको -moz/-webkit स्वामित्व वाली सामग्री का उपयोग करने की आवश्यकता है। उम्मीद है की वो मदद करदे! – mikermcneil

2

एकाधिक फ़ाइल अपलोड valums या blueimp फ़ाइल अपलोड करने वाले व्यक्तियों के साथ संभव हो रहे हैं का उपयोग कर शुद्ध जे एस समाधान है।

पुनरावर्ती निर्देशिका अपलोड करने के लिए, अपने विकल्पों को सीमित कर रहे हैं:

  • आपका सबसे अच्छा समाधान Chrome 11's new folder upload API उपयोग कर रहा है। यदि आप एक विक्रेता उपसर्ग का उपयोग करते हैं तो यह फ़ायरफ़ॉक्स पर भी काम करता है।

  • यह Java applet के साथ भी संभव क्रॉस-ब्राउज़र है। हालांकि एक JRE स्थापित साथ लोगों की% सुंदर कम हो गया है इन दिनों (< 70%)

3
फ़ायरफ़ॉक्स 42 के साथ

और एज कार्यान्वित होने नया directory upload proposal हम आपको अंत में क्रॉस-ब्राउज़र निर्देशिका अपलोड करने के लिए सक्षम। एपीआई इतनी खराब हैं कि आप मेरा रैपर, uppie देख सकते हैं।

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

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