मैं जर्सी के साथ एक फ़ाइल अपलोड कर रहा हूं, लेकिन मुझे केवल फ़ाइल नाम की आवश्यकता है। इंटरनेट एक्सप्लोरर पूरे पथ को भेजता है, और फॉर्मडाटाकंटेंट डिस्पोजिशन में जो कुछ भी है, उसके आधार पर, जर्सी स्लेश से बाहर निकलता है, इसलिए मैं इसे भी पार्स नहीं कर सकता। धन्यवाद।जर्सी फ़ाइल अपलोड के साथ केवल फ़ाइल नाम कैसे प्राप्त करें
उत्तर
एक कठिन समस्या की तरह लगता है। पाठ्यक्रम का आदर्श मामला स्लैश युक्त स्ट्रिंग को पकड़ना है और बस string.split का उपयोग करना है!
यह विफल होने के बाद, एकमात्र रणनीति जिसे मैं सोचना शुरू कर सकता हूं, स्ट्रिंग के माध्यम से पुन: प्रयास करने का प्रयास करना है, यदि स्ट्रिंग इत्यादि के पहले भाग की विभिन्न लंबाई के लिए फ़ोल्डर्स मौजूद हैं। इससे समस्याएं हो सकती हैं, भले ही आप ढूंढना चाहते हैं एक फ़ोल्डर "माईफोल्डर (2)" और एक "माईफोल्डर" भी है। मैं जर्सी के बारे में बहुत कुछ नहीं जानता लेकिन मैं आपको आवश्यक स्ट्रिंग को पकड़ने के लिए एक अलग तरीका खोजने की कोशिश करता हूं।
- फ़ाइल इनपुट टैग
- में होने वाले बदलाव घटना जोड़ें फ़ाइल नाम बाहर पार्स के रूप में यह अभी भी इस बिंदु
- स्टिक पर स्लैश है कि तब एक छिपा इनपुट
कि छिपा इनपुट में महत्व है शेष रूप के साथ जमा हो जाता है।
@kombat को यह समाधान मिला है और इसे एक टिप्पणी के रूप में पोस्ट किया गया है। बेहतर के लिए यह अब एक समुदाय विकी उत्तर के रूप में reposted है।
जब मैंने ग्रहण ब्राउज़र की कोशिश की तो मुझे वह त्रुटि मिल रही थी। जब मैंने क्रोम पर अपना कोड आज़माया, तो FormDataContentDisposition.getFileName() ठीक था।
यह जर्सी में एक बग है। नाबल चर्चा में http://jersey.576304.n2.nabble.com/Jersey-truncating-the-slashes-from-the-uploaded-file-name-td5984041.html बग के लेखक ने स्वयं को प्रकट किया और Content-Disposition
को पार्स करने के लिए HTTP शीर्षलेखों को पार्स करने के लिए 'कोड का पुन: उपयोग' स्वीकार किया। हालांकि, उद्धृत आरएफसी 2616 निर्दिष्ट नहीं करता है कि Content-Disposition
फ़ील्ड HTTP शीर्षलेखों के लिए निर्दिष्ट नियमों के अनुसार बचने के लिए हैं। बस विपरीत, वहाँ लिखा है कि:
सामग्री-विन्यास HTTP मानक का हिस्सा नहीं है, लेकिन चूंकि यह व्यापक रूप से लागू किया गया है, हम कार्यान्वयन करने के लिए इसके उपयोग और जोखिम का दस्तावेजीकरण कर रहे हैं।
इस बग पहले से ही जर्सी की वास्तविक संस्करण में वर्ग org.glassfish.jersey.media.multipart.internal.MultiPartReaderClientSide
में एक बदसूरत वैकल्पिक हल है, लेकिन यह IE 11 और एज के साथ काम नहीं करता है, क्योंकि यह जाँच करता है उपयोगकर्ता-एजेंट हिस्सा जो बदल गया है। फिक्स के साथ एक पुल अनुरोध है: https://github.com/jersey/jersey/pull/233/files, लेकिन लगभग 2 वर्षों तक किसी ने इसे विलय करने की परवाह नहीं की है।
1) aplly एक ग्राहक के पक्ष, जो IMHO एक गलत दृष्टिकोण है, क्योंकि वहाँ क्लाइंट की तरफ कोई बग है पर 'फिक्स', बग जर्सी में है:
आप 3 समाधान है!
2) जर्सी अन्य ढांचा, जिसमें डेवलपर मैन्युअल कोड पुनः प्रयोग आदि
3) पैच जर्सी अधिकतम पर ध्यान केंद्रित करने के बजाय और अधिक गंभीरता से संगतता समस्याओं लेने के लिए बदलें। स्रोत डाउनलोड करें, संशोधित संस्करण संख्या के साथ पुल अनुरोध लागू करें, संकलित करें और रिलीज़ करें।
- 1. ब्लूंप फ़ाइल अपलोड प्लगइन के साथ केवल एक बार फ़ाइल कैसे अपलोड करें?
- 2. jQuery फ़ाइल अपलोड करेंयूआई फ़ाइल अपलोड करें
- 3. स्वैगर यूआई, जर्सी और फ़ाइल अपलोड को कॉन्फ़िगर कैसे करें?
- 4. jQuery फ़ाइल अपलोड प्लगइन के साथ अपलोड करने से पहले अपलोडिंग फ़ाइल नाम प्राप्त करना
- 5. जर्सी सेवा फ़ाइल अपलोड आउटऑफमेमरी एरर
- 6. @MultipartForm मूल फ़ाइल नाम कैसे प्राप्त करें?
- 7. प्रीप्रोसेसर में केवल फ़ाइल नाम कैसे प्राप्त करें?
- 8. फ़ाइल अपलोड के साथ फ़िल्टर फ़ाइल एक्सटेंशन
- 9. फ़ाइल नाम में एक कोलन के साथ विंडोज़ में फ़ाइल कैसे प्राप्त करें?
- 10. फ़ाइल फ़ाइल को सहेजने से केवल फ़ाइल नाम पुनर्प्राप्त करें
- 11. फ़ाइल अलामोफायर राउटर के साथ अपलोड करें
- 12. फ़ाइल सूचक से फ़ाइल नाम प्राप्त करें
- 13. अपाचे कॉमन्स फ़ाइल के साथ फ़ाइल अपलोड करने के लिए जेएसएफ कैसे प्राप्त करें
- 14. यूआरएल पैरामीटर के साथ वर्तमान फ़ाइल नाम प्राप्त करें
- 15. PHP फ़ाइल अपलोड करें और उसी नाम के साथ फ़ाइल को ओवरराइट करें
- 16. अस्थायी फ़ाइल नाम कैसे प्राप्त करें?
- 17. डीएलएल का फ़ाइल नाम कैसे प्राप्त करें?
- 18. इरादे से फ़ाइल नाम कैसे प्राप्त करें?
- 19. फ़ाइलइटेम के नाम से केवल फ़ाइल नाम निकालें
- 20. 'ब्राउज़ करें' पर क्लिक करने के बाद फ़ाइल अपलोड अपलोड फ़ाइल को कैसे अपलोड करें?
- 21. फ़ाइल से फ़ाइल का नाम कैसे प्राप्त करें * सी
- 22. फ़ाइल अपलोड करें एएसपी.नेट 5
- 23. केवल गिट लॉग के साथ परिवर्तित फ़ाइल नाम कैसे दिखाएं?
- 24. फोनगैप और JqueryMobile के साथ फ़ाइल कैसे अपलोड करें?
- 25. फ़ाइल अपलोड करें एमवीसी
- 26. कर्ल के साथ लक्ष्य निर्देशिका में फ़ाइल कैसे अपलोड करें?
- 27. Symfony2: फ़ाइल अपलोड करें
- 28. जावा के साथ फ़ाइल अपलोड करें (प्रगति पट्टी के साथ)
- 29. जावा में फ़ाइल फ़ाइल अपलोड प्लगइन का उपयोग कर भाग में फ़ाइल अपलोड करें
- 30. अपलोड फ़ाइल
धन्यवाद।मैं जो कर रहा हूं वह फ़ाइल इनपुट टैग में एक परिवर्तन ईवेंट जोड़ रहा था और इसमें फ़ाइल नाम को पार्स कर दिया गया क्योंकि यह अभी भी इस बिंदु पर स्लेश हो गया है, और उस मान को छिपे हुए इनपुट में चिपकाएं। वह छिपी हुई इनपुट तब शेष रूप के साथ जमा हो जाती है। – kombat
देखकर खुशी हुई कि आप इसे हल करने में सक्षम थे। – Drifter64
इसे इस टिप्पणी में डालने के बजाए इस प्रश्न का उत्तर दें, ताकि यह अधिक लागू हो सके –