2010-08-06 15 views
20

मैं सोच रहा था कि जावा फ़ाइल अपलोड एपीआई के स्टैक ओवरव्लो उपयोगकर्ताओं ने अतीत में क्या उपयोग किया है और उपयोग करने की सिफारिश करेंगे? एक त्वरित Google खोज यह इंगित करती है कि सबसे अधिक उपयोग किया जाने वाला एपीआई अपाचे कॉमन्स फ़ाइल अपलोड (वर्तमान में 1.2.1 पर) है, हालांकि, हमारे पास इस लाइब्रेरी के उपयोग से संबंधित कुछ बड़ी समस्याएं हैं जिनके साथ हम असमर्थ हैं का समाधान।अपाचे कॉमन्स फ़ाइल अपलोड विकल्प

क्या किसी को भी विश्वसनीय फ़ाइल अपलोड लाइब्रेरी (अपाचे कॉमन्स एक से अलग) मिली है, जिसे वे अनुशंसा करेंगे?

संपादित करें: स्ट्रीमिंग एपीआई एक विकल्प है क्योंकि यह एक ही अंतर्निहित वर्ग का उपयोग करता है जो हमारी समस्या का कारण बनता है।

EDIT2: हमारा मूल मुद्दा लोड संतुलन के साथ किसी प्रकार की समस्या प्रतीत होता है। हमारा क्लोन इंस्टेंस अपाचे/AJP1.3 का उपयोग करता है और लाइव इंस्टेंस ज़ीउस एक्सटीएम का उपयोग करता है। मेजबान नाम के बजाय सर्वर आईपी का उपयोग कर लोड बैलेंसर को बाईपास करने से समस्या गायब हो जाती है।

EDIT3: यह क्लाइंट फ़ायरवॉल के साथ एक मुद्दा साबित हुआ। ऐसा प्रतीत होता है कि वे थे .. एर .. पूरी तरह सच्चे नहीं होने पर उन्होंने कहा कि निश्चित रूप से यह पता था कि यह फ़ायरवॉल मुद्दा नहीं था।

+0

द्वारा 8MB है कितनी बड़ी उन फ़ाइलों को कर रहे हैं? –

+0

किस तरह की समस्याएं हैं? स्मृति से संबंधित? – naikus

+0

समस्याएं जो समस्याएं उत्पन्न करती हैं 7MB और उससे अधिक हैं। हमने सबसे बड़ा परीक्षण किया है 600 एमबी है। क्या होता है कि अपलोड ब्राउज़र में विफल रहता है, और हम लॉग में एक स्टैक ट्रेस के साथ समाप्त होते हैं जिसमें कहा गया है कि स्ट्रीम अप्रत्याशित रूप से समाप्त हो गई है। कॉमन्स फ़ाइल अपलोड जेआईआरए इंस्टेंस (https://issues.apache.org/jira/browse/FILEUPLOAD-143) पर इससे संबंधित एक खुली बग है। आखिरी लेकिन एक टिप्पणीकर्ता खुद है। यह एक फ्लैश मुद्दा नहीं है, यह ब्राउज़र में हो रहा है, लेकिन केवल विंडोज एक्सपी और विस्टा क्लाइंट के लिए। हम पूरी तरह से परेशान हैं। – Jon

उत्तर

1

यदि आपके पास समय या स्मृति संबंधी समस्याएं हैं, तो क्या आपने कॉमन्स फ़ाइल अपलोड के streaming API पर देखा है?

+0

हां। हमने स्रोत को देखा है और पाया है कि यह उस वर्ग का उपयोग करता है जिसमें हमें समस्याएं हैं - org.apache.commons.fileupload.MultipartStream। – Jon

-2

इन सेटिंग्स पर एक नजर है, सीमा डिफ़ॉल्ट

upload_max_filesize 
post_max_size 
+0

ये सेटिंग्स कहां हैं? कॉमन्स फ़ाइल में खुद को अपलोड करें? मेरे पास एक त्वरित Google था और वे अपाचे सेटिंग्स दिखाई देते हैं। हम अपाचे का उपयोग नहीं कर रहे हैं .. – Jon

+0

दस्तावेज़ों में (http://commons.apache.org/fileupload/using.html) यह कहता है कि आप अपलोड के लिए अधिकतम अपलोड आकार सेट कर सकते हैं 'upload.setSizeMax (yourMaxRequestSize); '- लेकिन इस मान के लिए डिफ़ॉल्ट -1 है, जो कि कोई सीमा नहीं है। जावा प्रश्न में PHP-सेटिंग्स का उल्लेख करने के लिए – Jon

+0

-1 – mhaller

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