2008-08-15 22 views
5

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

सभी की
<input type="file" name="myfile" size="50"> 

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

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

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

Yaakov: वह उत्पाद ठीक वही दिखता है जो मैं ढूंढ रहा हूं, लेकिन लागत $ 1000 है और इसकी विशेष रूप से ASP.NET. क्या कोई खुली स्रोत परियोजनाएं हैं जो समान या समान कार्यक्षमता को कवर करती हैं?

उत्तर

9

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

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

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

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

HTH

0

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

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

1

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

1

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

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

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

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

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

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

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