2010-02-03 28 views
5

के साथ एक साथ कई फाइलें अपलोड करना मैं एक फ्लेक्स अपलोडर पर काम कर रहा हूं, जहां उपयोगकर्ता एकाधिक फाइलों का चयन कर सकता है।फ्लेक्स

यह ठीक काम करता है जब फ़ाइलों को कतार में एक बार अपलोड किया जाता है (हालांकि एक समय में), जैसे ही मैं इसे एक बार में 2 फाइलें अपलोड करने का प्रयास करता हूं, मैं मुद्दों में भाग लेता हूं।

ऐसा लगता है कि फ़ाइलें अक्सर लॉक हो जाएंगी, या फिर 1% पर रहेंगी जब तक कि हर दूसरी फ़ाइल अपलोड नहीं हो जाती है, या बस बिल्कुल पूरा नहीं होता है। एक समय में एक से अधिक फाइल अपलोड नहीं होती है।

क्या फ्लेक्स में एक साथ कई फाइलों पर कॉलिंग के साथ कुछ समस्या है?

+0

चेक [** यहां **] (http://bytearray.brixtonjunkies.com/2009/10/01/flex-multiple-file-uploader/), यह भी है [** उदाहरण **] (http://bytearray.brixtonjunkies.com/wp-content/uploads/uploader/FlexUploaderExample.html) –

उत्तर

0

मेरे पास आपके प्रश्न का सीधा जवाब नहीं है, लेकिन जीमेल अपलोडर दिमाग में आता है। यह swfupload (अद्यतन link) का उपयोग करता है, जो ओपन सोर्स है ताकि आप इसे स्रोत से निकाल सकें।

इस answer में और जानकारी है।

2

दुर्भाग्यवश यह प्रति मेजबान सक्रिय कनेक्शन 2 (ब्राउजर के आधार पर) की ब्राउज़र सीमा है। मतलब केवल 2 अपलोड एक समय में सक्रिय होंगे, जबकि दूसरा कतारबद्ध होगा। अब यह वास्तव में एक समस्या नहीं होगी लेकिन जब अपलोड की गई फ़ाइलें बहुत बड़ी होंगी, तो अन्य अपलोड समय समाप्त हो जाएंगे, भले ही वे शुरू नहीं हुए हों। प्रत्येक 2 अपलोड (upl1.mydomain.com, upl2.mydomain.com) में सबडोमेन का उपयोग करने में एक कामकाज है कि मुझे परीक्षण नहीं मिला लेकिन यह चाल चलनी चाहिए।

संदर्भ: http://anirudhs.chaosnet.org/blog/2008.06.17.html और http://www.ajaxperformance.com/2006/12/18/circumventing-browser-connection-limits-for-fun-and-profit/ (जो आप वास्तव में पहले लिंक से प्राप्त कर सकते हैं)।

इसके अलावा, आप शायद फ्लैश में अपलोड कतार में सक्षम नहीं होंगे, क्योंकि सुरक्षा मॉडल को माउस क्लिक के परिणामस्वरूप अपलोड विधि (फ़ाइल संदर्भ) की आवश्यकता होती है।

+0

वाह, बहुत रोचक लेख। मुझे नहीं पता था कि इस तरह के प्रतिबंध आज भी ब्राउज़र पर थे ... फाइलों को कतार में डालने के लिए, यह फ़ाइल रेफरेंसलिस्ट के माध्यम से लूप करके ठीक काम करता प्रतीत होता है। – David

+0

अपडेट: मैंने कुछ पोकिंग किया है, और फ़ायरफ़ॉक्स 3.0+ के लिए डिफ़ॉल्ट कनेक्शन सीमा 6 है। चूंकि मैं परीक्षण के लिए फ़ायरफ़ॉक्स 3.5 का उपयोग कर रहा हूं (और मैंने इसके बारे में दो बार जांच की है: कॉन्फ़िगरेशन सीमा कनेक्शन 6 है) मुझे फिर से यकीन नहीं है मुद्दा क्या है। – David

+0

हां, ब्राउज़र की नई पीढ़ी की अधिकतम कनेक्शन सीमा 6 प्रतीत होती है। मैंने उस नंबर को 8 में बदल दिया है और 4 से अधिक अपलोड करने में कामयाब नहीं रहा है। आईई और फ़ायरफ़ॉक्स दोनों पर, इसलिए मैं सोच रहा हूं कि वहां एक है ओएस पर आगे की सीमा। इसके अलावा, शुरुआत में, फ़ायरफ़ॉक्स पर मेरे पास केवल 6 अपलोड डिफ़ॉल्ट 6 के साथ सक्रिय थे। शायद एक बग? –

0

मल्टीटास्किंग अनुकरण करने का एक और तरीका अनुक्रमिक निष्पादन के लिए भागों को डाउनलोड/अपलोड करना और कॉललाटर() का उपयोग करना है। यह प्रारंभिक विंडोज सहकारी मल्टीटास्किंग की प्रतिकृति होगी

0

समस्या मॉडल के साथ है जिसमें फ्लेक्स बैक-एंड से कनेक्ट होता है। HttpService और Remoting के साथ, फ्लेक्स क्लाइंट सर्वर से एक एचटीपी कनेक्शन खोलता है। यदि आप सर्वर पर एक ही सर्वलेट/सेवा से कनेक्ट कर रहे हैं, तो यह उसी कनेक्शन का उपयोग करेगा और समस्याओं में चला सकता है।

एक साधारण परीक्षण के लिए, उसी सर्लेट के दो उदाहरण बनाने का प्रयास करें और 2 अपलोड के लिए 2 सर्वलेट्स पर अपलोड अनुरोध भेजें। यह काम करना चाहिए।

0

अपलोड स्क्रिप्ट को अपलोड क्लास के रूप में अपलोड करने में मदद मिल सकती है .. मेरा मतलब है कि अगर आपकी अपलोडिंग स्क्रिप्ट php या asp में है तो उस स्क्रिप्ट का वर्ग बनाएं ताकि प्रत्येक अनुरोध प्रत्येक अद्वितीय ऑब्जेक्ट से मेल खाता हो और हम एक साथ फाइल अपलोड कर सकें ..