2011-09-14 15 views
9

अपलोड किए गए फ़ाइलों को अपलोड करने के लिए अपाचे कॉमन्स फ़ाइल फ़ाइलइटम ऑब्जेक्ट्स के रूप में उपलब्ध हैं।
यदि मुझे fileitem.getName() का उपयोग करके ऐसी फ़ाइल आइटम का नाम मिलता है तो यह पूर्ण पथ (पूर्व: C:\Test\test.txt) देता है।

क्या केवल फ़ाइल नाम प्राप्त करने का कोई तरीका है।
मैं वास्तव में क्या जरूरत है File.createTempFile()
लेकिन नाम और temp फ़ाइल एक्सटेंशन का उपयोग कर एक यादृच्छिक नाम (जैसे temp.tmp)फ़ाइलइटेम के नाम से केवल फ़ाइल नाम निकालें

उत्तर

22

अपलोड की गई फ़ाइल के बजाय के रूप में ही किया जाना चाहिए अस्थायी फ़ाइल के रूप में अपलोड की गई फ़ाइल को बचाने के लिए है प्रयास करें क्या the docs say

क्यों करता FileItem.getName() पूरे रास्ते लौटने के लिए, और न सिर्फ फ़ाइल नाम?

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

String fileName = item.getName(); 
if (fileName != null) { 
    fileName = FilenameUtils.getName(fileName); 
} 
+0

मैं it.thanks एक बहुत – Dinushan

+0

@JoseK नोटिस नहीं किया था इस फ़ाइल नाम के साथ फ़ाइल नाम को बदलने के लिए लगता है कि है? –

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