किसी वेब फ़ॉर्म के साथ HTTP पोस्ट के माध्यम से फ़ाइल अपलोड करने का सबसे अच्छा तरीका क्या है?

असल में, इससे कुछ बेहतर:

<input type="file" name="myfile" size="50">

सबसे पहले, ब्राउज़ करें बटन प्रत्येक ब्राउज़र पर अलग दिखता है। किसी फ़ॉर्म पर submit बटन के विपरीत, आपको कुछ के साथ आना होगा हैक-वाई शैली को शैली देने के लिए।

दूसरा, कोई प्रगति संकेतक नहीं दिखा रहा है कि फ़ाइल कितनी अपलोड हो गई है। आपको आमतौर पर एकाधिक सबमिशन को अक्षम करने के लिए किसी प्रकार का क्लाइंट-साइड तरीका लागू करना होता है (उदाहरण के लिए सबमिट बटन को सबमिट करें बटन सबमिट करें "फ़ॉर्म सबमिट करना ... कृपया प्रतीक्षा करें।") या एक विशाल चेतावनी फ़्लैश करें।

क्या इसका कोई अच्छा समाधान है जो फ्लैश या जावा का उपयोग नहीं करता है?

Yaakov: That product looks to be exactly what I'm looking for, but the cost is $1000 and its specifically for ASP.NET. Are there any open source projects that cover the same or similar functionality?

0
ro fr bn

4 उत्तर

आप फैंसी अपलोड स्क्रिप्ट पर एक नज़र डाल सकते हैं। हालांकि यह फ्लैश का उपयोग करता है, फिर भी यह बहुत अच्छा लग रहा है।

0
जोड़ा

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

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

0
जोड़ा

यहां समस्या यह है कि ब्राउज़र विशेष रूप से कुछ भी ब्लॉक करने के लिए काम करते हैं जो मूल फ़ाइल अपलोड इनपुट नियंत्रण को बदलता है। उदाहरण के लिए आप जावास्क्रिप्ट के साथ इसे बदल नहीं सकते हैं।

कारण सुरक्षा है - अगर मैं इसे स्क्रिप्ट कर सकता हूं तो मैं एक पृष्ठ बना सकता हूं कि जब आपने इसका दौरा किया तो मुझे आपकी हार्ड डिस्क से विभिन्न फाइलें भेजीं। अच्छा नहीं है।

इस समय कई कामकाज हैं, लेकिन वे आईई और एफएक्स के बीच अलग हैं (मुझे सफारी, ओपेरा, आदि के बारे में पता नहीं है)।

आईई और एफएक्स में जब आप किसी ई से कुछ संलग्न करते हैं तो http://www.gmail.com क्या करता है देखें मेल।

मैं उस बकवास को "ब्राउज" बटन देखना चाहता हूं - यह मुझे बताता है कि मैं कुछ भी अप्रत्याशित नहीं दे रहा हूं।

0
जोड़ा

फ़ाइल अपलोड बॉक्स वह स्थान है जहां हम वर्तमान में फ्लैश, जावा या ActiveX जैसी अन्य तकनीकों को शामिल नहीं करना चाहते हैं।

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

यदि आप फ्लैश का उपयोग करने के इच्छुक हैं (जो कहीं भी और कई प्लेटफॉर्म पर उपलब्ध है), तो आप इन सभी समस्याओं को दूर कर सकते हैं। एक त्वरित googling दो </ए> ऐसे घटक, दोनों स्वतंत्र और खुला स्त्रोत। मैंने कभी उनमें से किसी का भी उपयोग नहीं किया, लेकिन वे अच्छे दिखते हैं। बीटीडब्लू, फ्लैश इसकी समस्याओं के बिना नहीं है, उदाहरण के लिए जब स्लाइड शेयर के लिए बहु-फ़ाइल अपलोडर का उपयोग करते हैं, तो ब्राउज़र लगातार मुझ पर दुर्घटनाग्रस्त रहता है :-(

वर्तमान में सबसे अच्छा समाधान गतिशील रूप से पता लगाने के लिए है कि उपयोगकर्ता के पास फ़्लैश है, और यदि यह मामला है, तो उसे अपलोडर का फ़्लैश संस्करण दें, जबकि अभी भी मूल HTML को चुनना संभव हो।

HTH

0
जोड़ा