2010-08-30 24 views
9

उपयोगकर्ता अनुभव को बढ़ाने के लिए इससे पहले कि बहुत बड़ा है चेतावनी दें, मैं पूरी फ़ाइल (जो कुछ कारण समय लग सकता है भेजने से पहले उपयोगकर्ता है कि फ़ाइल बहुत बड़ी है (मान लें> 8M) चेतावनी देने के लिए चाहते हैं आकार और ग्राहक कनेक्शन के लिए)। बेहतर उपयोगकर्ता अनुभव के लिए सभी प्रकार के फ़ील्ड "पूर्व-मान्य" क्लाइंट-साइड हो सकते हैं, लेकिन मैं फ़ाइल आकार की समस्या पर फंस गया हूं।उपयोगकर्ता एक फ़ाइल अपलोड

क्या इस समस्या का समाधान है?

[संपादित करें] मैं PHP के लिए एपीसी के लिए भी खुला हूं, जिसमें आरएफसी 1867 है। मुझे यकीन नहीं है कि अगर आकार का पता लगाना बहुत बड़ा है तो फॉर्म अपलोड को रद्द करना संभव है। अगर कोई मुझे दिखाए कि यह कैसे करना है तो मैं निश्चित रूप से बक्षीस दूंगा।

उत्तर

6

इस फ़्लैश आधारित अपलोडर के बारे में कैसे? http://swfupload.org/

इस सम्मोहक लगता

  • सामान्य HTML अपलोड फ़ॉर्म को शान से खराबी आ रही है, तो फ़्लैश या जावास्क्रिप्ट अनुपलब्ध
  • नियंत्रण फ़ाइल आकार है से पहले अपलोड

शुरू होता है यह खुला स्रोत यदि आप आप उत्सुक थे है के बाद से सबसे ब्राउज़र को कवर करने के अन्य एचटीएमएल 5 और IE केवल समाधान के साथ मनोहर पतन जोड़ सकता स्थापित करता है: http://code.google.com/p/swfupload/

+1

+1। फ्लैश प्रकृति के बावजूद (भले ही सभी के पास फ्लैश सपोर्ट है ...), यह एकमात्र समृद्ध पूर्ण विशेषीकृत घटक है जिसे मैंने कुछ साल पहले पाया है (कि एक हस्ताक्षरित जावा एप्लेट ...) जो बहुत अच्छा काम करता है और नहीं एक पूर्वनिर्धारित यूजर इंटरफेस लगाओ। तुम भी, आदि –

+0

+1 जोड़ना चाहिए प्रगति की निगरानी अपलोड है SWFUpload बार में एकाधिक फ़ाइलों का चयन कर सकते हैं और संभव आकार की सीमा के साथ अपलोड कतार है और यह सभी प्रमुख ब्राउज़रों में काम करते हैं और कॉलबैक हैंडलर्स की एक विस्तृत श्रृंखला है! –

2

यहाँ अपनी आवश्यकताओं

से मेल खाते हैं, लेकिन सावधान रहना यह बताया गया है कि यह कुछ ब्राउज़रों में काम नहीं करता है कि

http://www.kavoir.com/2009/01/check-for-file-size-with-javascript-before-uploading.html

परिवर्तन यह करने के लिए एक सरल उपाय है, यह कुछ जरूरत हो सकती है परिवर्तन।

+2

केवल आईई 7 और नीचे काम करेगा। –

+0

हां, यह केवल आईई में काम करता है। फ़ायरफ़ॉक्स, ओपेरा, क्रोम और सफारी के बारे में क्या? – Savageman

5

आप आईई 9 या इससे पहले वाले नए ब्राउज़र में फ़ाइल एपीआई का उपयोग कर सकते हैं। मैं कुछ Googling के साथ इस ट्यूटोरियल पाया: http://www.html5rocks.com/tutorials/file/dndfiles/

इसके अलावा, MDC संदर्भ यहाँ है: https://developer.mozilla.org/en/DOM/File

दुर्भाग्य से मुझे नहीं लगता कि IE के सभी संस्करणों में एक तरह से है। Flakron का जवाब 6 और 7 को कवर करता है, लेकिन मुझे 8 के बारे में निश्चित नहीं है और मैं आईई एपीआई से परिचित नहीं हूं। आपको शायद प्लगइन आधारित अपलोडर (फ्लैश, सिल्वरलाइट, या जावा) के साथ जाना होगा।

+0

प्लगइन्स में "मजबूत" निर्भरताएं हैं। यदि संभव हो तो मैं इससे बचना चाहूंगा।उस ने कहा, फ्लैश अपलोडर एक खराब समाधान नहीं होगा (निश्चित रूप से "क्लासिक" फ़ाइल इनपुट के लिए फॉलबैक के साथ)। – Savageman

+0

http://www.html5rocks.com/tutorials/file/dndfiles/ में एक डेमो फ़ाइल इनपुट है। आईई 10 (विंडोज 7) के साथ बस जांच और काम करता है, इसलिए ऐसा लगता है कि यह वर्तमान और विशेष रूप से भविष्य के प्रस्तुतियों में एक अनुशंसित तरीका है। –

1

इस समस्या का एक समाधान है?

मुझे लगता है कि आप एक "बहुत बड़ा" आकार के बारे में चेतावनी देने के लिए चुनने पछतावा समाप्त कर देंगे क्योंकि स्थानांतरण गति प्रवाह क्षमता की असली दृढ़ संकल्प है।

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

+0

हालांकि HTTP अपलोड के साथ एचटीएमएल में पूरा होने का अनुमानित समय आपको कैसे पता चलेगा? सर्वर यह नहीं जानता कि फ़ाइल तब तक कितनी बड़ी है जब तक ब्राउजर पूरी फाइल अपलोड नहीं कर लेता है? –

+0

जब तक कि उसके पीछे बैकएंड पर वास्तविक "बहुत बड़ा" न हो। – Joshua

+0

हां, एक HTTP अपलोड को नियंत्रित करने वाला एचटीएमएल एक सुखद जीयूआई नहीं है। Http://www.google.com/search?q=upload+progress –

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