Java - File Transfer Client-Server

[Java] File Transfer Client-Server

Probleem

Java-i veebirakenduse osana vajavad kasutajad vormi kaudu faile (mis tahes tüüpi: Exceli töövihik, pilt ...) serverisse ja viimased on seega salvestatud rakenduste kataloogi.

Minu probleem on nüüd see, et faile ei ole täielikult taastatud (hästi ma arvan, et need on, kuid mul on kirja kirjutamise probleem), selgitan: kui ma üles laadin faili "Blabla. Txt", mille sisu on "Tere, oleme neljapäev, 16. juuli 2009 ja taevas on päikeseline. ", Siis serverisse salvestatud fail on:" Blabla.txt ", mille sisu on:" oju, naked omsl ed tl 6Jilt20 ileteslil. " kiri oli kirjutatud ainult kaks. Pildi puhul ei saa ma testi teha, sest seda ei saa pärast selle marsruudi võtmist vaadata.

See järeldus paneb mind mõtlema, et tegemist on kodeerimisprobleemiga, kuid kuna ma ei tea midagi ... ei saa ma olla kindel.

Lühidalt, siin on minu kood:

 boolean isMultipart FileUpload.isMultipartContent = (päring); DiskFileUpload DiskFileUpload upload = new (); Loendiüksused = null; proovige {upload.parseRequest items = (request); } Saak (FileUploadException e) {} String fileName = ((FileItem) items.get (0)). GetName (); fileName = nomFichier.substring (nomFichier.lastIndexOf ("") +1); Made InputStream = null; tegi = (InputStream) ((FileItem) items.get (0)). getInputStream (); FileOutputStream fos = uus FileOutputStream (uus fail ("MyFolder /" + fileName)); samas (fis.read ()! = -1) {fos.write (fis.read ()); } fos.close (); fis.close (); JSP-s kodeerib vorm mitmeosalist: 

Nii et siin, pärast palju uurimistööd, et selleni jõuda, seekord ma olen surnud ja minu uurimistöö ei avane.

Kui see teid inspireerib, siis palun andke mulle nõu ja kui ma olen selle meetodi kohta valesti ja seal on palju lihtsam, ärge kartke! Tänan teid lugemise ja hea päeva eest.

Lahendus

Ok, sain aru kohe pärast selle teate postitamist:

Ma teen topeltfaili (), nii et tavaline, et märkide vahele jätmine ...

Ma olen nii häbi, kuid jätan selle sõnumi, kui see võib aidata. :)

See parandas laulu (ainult tingimuslik silmus):

 int fisread fis.read = (); samas (fisread! = -1) {fos.write (fisread); fisread fis.read = (); } 

Märge

Lahendanud Asefthu

Eelmine Artikkel Järgmine Artikkel

Top Näpunäited