जावा - फाइल ट्रांसफर क्लाइंट-सर्वर

[जावा] फ़ाइल स्थानांतरण क्लाइंट-सर्वर

मुद्दा

जावा में एक वेब एप्लिकेशन के हिस्से के रूप में, मुझे एक फॉर्म के माध्यम से, सर्वर को फाइल (किसी भी प्रकार: एक्सेल वर्कबुक, इमेज ...) भेज सकते हैं और इसलिए एप्लिकेशन निर्देशिका में रिकॉर्ड किए जाते हैं।

मेरी समस्या अब यह है कि फाइलें पूरी तरह से बहाल नहीं हैं (वैसे मुझे लगता है कि वे हैं, लेकिन मुझे लिखने में समस्या है), मैं समझाता हूं: जब मैं "Blabla। Txt" फ़ाइल अपलोड करता हूं, जिसकी सामग्री "नमस्ते, हम गुरुवार को हैं।", जुलाई 16, 2009 और आकाश धूप है। ", तब सर्वर पर सहेजी गई फ़ाइल है:" Blabla.txt "सामग्री के साथ:" ओजू, नग्न ओम्स्ल एड टीएल 6Jilt20 ileteslil। "इस बकवास पर ध्यान केंद्रित करके देखा जा सकता है। एक पत्र केवल दो लिखा गया था। एक छवि के मामले में, मैं परीक्षण नहीं कर सकता क्योंकि आप इस मार्ग को ले जाने के बाद इसे नहीं देख सकते।

यह खोज मुझे लगता है कि यह एक एन्कोडिंग समस्या है, लेकिन जब से मैं कुछ भी नहीं जानता ... मुझे यकीन नहीं हो रहा है।

संक्षेप में, यहाँ मेरा कोड है:

 बूलियन isMultipart FileUpload.isMultipartContent = (request); DiskFileUpload DiskFileUpload अपलोड = नया (); सूची आइटम = अशक्त; try {upload.parseRequest items = (अनुरोध); } कैच (FileUploadException e) {} स्ट्रिंग fileName = ((FileItem) items.get (0))। गेटनेम (); fileName = nomFichier.substring (nomFichier.lastIndexOf ("\ \") +1); बना इनपुटस्ट्रीम = अशक्त; did = (InputStream) ((FileItem) items.get (0))। getInputStream (); FileOutputStream fos = नई FileOutputStream (नई फ़ाइल ("MyFolder /" + fileName)); जबकि (fis.read ()! = -1) {fos.write (fis.read ()); } fos.close (); fis.close (); JSP में, प्रपत्र को मल्टीपार्ट एनकोड करता है: 

तो यहाँ, इस बिंदु पर आने के लिए बहुत शोध के बाद, इस बार मैं मर चुका हूँ और मेरा शोध मैं अनलॉक नहीं करता।

यदि यह आपको प्रेरित करता है, तो कृपया मुझे सलाह दें और यदि मैं विधि के बारे में गलत हूं और बहुत आसान है, तो संकोच न करें! पढ़ने और अच्छे दिन के लिए धन्यवाद।

उपाय

ठीक है, मुझे यह संदेश पोस्ट करने के बाद ही पता चला:

मैं एक डबल फिशर () करता हूं, इतना सामान्य कि मैं पात्रों को छोड़ देता हूं ...

मुझे बहुत शर्म आती है लेकिन मैं इस संदेश को छोड़ देता हूं अगर यह कुछ मदद कर सकता है। :)

इसने गीत को ठीक कर दिया (बस सशर्त पाश):

 int fisread फिश.डर = (); जबकि (फिस! = -1) {fos.write (फिसर्ड); fisread fis.read = (); } 

ध्यान दें

Asefthu द्वारा हल किया गया

पिछला लेख अगला लेख

शीर्ष युक्तियाँ