2011-10-09 23 views
21

में टूटे हुए अपलोड को फिर से शुरू करने के लिए मैं html5 फ़ाइल अपलोडर को फिर से शुरू करने की कार्यक्षमता जोड़ने की कोशिश कर रहा हूं।एचटीएमएल 5

ब्राउज़र बंद होने के बाद मुझे फिर से शुरू करने में सक्षम होना चाहिए (और फिर से खोल दिया गया) और मैंने फ़ाइल ऑब्जेक्ट खो दिया, मैं नहीं चाहता कि उपयोगकर्ता फ़ाइल को फिर से खींचें/खोलें।

अब तक मैंने जावा एप्लेट का उपयोग करने के लिए उपयोग किया था, लेकिन मैं इस समस्या के लिए एचटीएमएल 5 समाधान ढूंढने की उम्मीद कर रहा था।

मैंने स्थानीय भंडारण में फ़ाइलों को सहेजने के बारे में सोचा लेकिन वे बहुत बड़े हैं।

क्या फ़ाइल ऑब्जेक्ट को पथ या किसी अन्य जानकारी को सहेजने का कोई तरीका है जो फ़ाइल को फिर से खोलने के बिना फ़ाइल को दोबारा खोलने में मेरी मदद कर सकता है?

उत्तर

1

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

/संपादित करें: नकारात्मक वोट क्यों? कृपया एक टिप्पणी छोड़ दो ताकि मुझे पता चले कि मैंने क्या गलत कहा है! प्रश्न यह है कि उपयोगकर्ता ब्राउज़र को बंद करते समय अपलोड को फिर से शुरू करने के बारे में है। और यह संभव नहीं है। जब ब्राउज़र खुला रहता है और कनेक्शन खो जाता है, तो अपलोड को रोकना/फिर से शुरू करना संभव है, लेकिन जब उपयोगकर्ता ब्राउज़र बंद कर देता है (संदर्भ गुम हो जाते हैं)। हालांकि आप फ़ाइल को temporary filesystem पर प्रतिलिपि बना सकते हैं और फिर वहां से अपलोड फिर से शुरू कर सकते हैं, लेकिन इसके लिए उपयोगकर्ता सहमति की आवश्यकता होती है और यह आपके द्वारा उपयोग किए जाने वाले स्थान की मात्रा तक सीमित है।

+0

यदि उपयोगकर्ता एक ही फ़ाइल को फिर से चुनता है तो अपलोड को "फिर से शुरू करना" संभव है, लेकिन आप सही हैं कि आप उस फ़ाइल तक नहीं पहुंच सकते हैं जिसे उपयोगकर्ता ने पिछले सत्र में चुना था (यानी, आप फ़ाइल तक पहुंच नहीं सकते पथ से, उपयोगकर्ता को '<इनपुट प्रकार = "फ़ाइल" /> 'या ड्रैग + ड्रॉप के माध्यम से फ़ाइल का चयन करना होगा) – cwa

0

यह नए ब्राउज़र (क्रोम, फ़ायरफ़ॉक्स) के साथ संभव है।

यूट्यूब अपलोडर एक अच्छा उदाहरण है। http://support.google.com/youtube/bin/static.py?hl=en&topic=1719827&guide=1719823&page=guide.cs&answer=1672758

http://www.youtube.com/watch?v=L5ebSn9HgJ4

मैं पूरी तरह यकीन है कि कैसे उनके क्रियान्वयन पूरी तरह से काम करता है नहीं कर रहा हूँ, लेकिन यह संभव है।

5

आप Resumable.js - JavaScript Library Providing Multiple Simultaneous, Stable And Resumable Uploads Via The HTML5 File API (या इसके डोमेन www.resumablejs.com) को आजमा सकते हैं।

पुन: प्रयोज्य। जेएस एक जावास्क्रिप्ट लाइब्रेरी एचटीएमएल 5 फाइल एपीआई के माध्यम से एकाधिक एक साथ, स्थिर और पुन: शुरू करने योग्य अपलोड प्रदान करता है।

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

Resumable.js HTML5 फ़ाइल एपीआई और फ़ाइलों को छोटे टुकड़ों में बदलने की क्षमता पर निर्भर करता है। वर्तमान में, इसका मतलब है कि समर्थन फ़ायरफ़ॉक्स 4+ और क्रोम 11+ तक सीमित है।