Java - File Transfer Client-Server

[Java] File Transfer Client-Server

Utgave

Som en del av et webprogram i Java, trenger jeg, via et skjema, brukere å sende filer (hvilken som helst type: Excel arbeidsbok, bilde ...) til serveren, og sistnevnte blir derfor registrert i søknadskatalogen.

Mitt problem nå er at filene ikke er fullstendig restaurert (vel jeg tror de er, men jeg har problemer med å skrive), forklarer jeg: Når jeg laster opp filen "Blabla. Txt", hvis innhold er "Hei, vi er torsdag, 16. juli 2009 og himmelen er solfylt. ", Så er filen lagret på serveren:" Blabla.txt "med innhold:" Oju, naked omsl ed tl 6Jilt20 ileteslil. "Kan observeres ved å fokusere på denne tullet at et brev ble skrevet kun to. Når det gjelder et bilde, kan jeg ikke gjøre testen fordi du ikke kan se den etter at den har tatt denne ruten.

Dette funnet får meg til å tro at dette er et kodende problem, men siden jeg ikke vet noe ... kan jeg ikke være sikker.

Kort sagt, her er koden min:

 boolsk erMultipart FileUpload.isMultipartContent = (forespørsel); DiskFileUpload DiskFileUpload upload = new (); Listeposter = null; prøv {upload.parseRequest items = (request); } Catch (FileUploadException e) {} String fileName = ((FileItem) items.get (0)). GetName (); fileName = nomFichier.substring (nomFichier.lastIndexOf ("\ \") +1); Made InputStream = null; gjorde = (InputStream) ((FileItem) items.get (0)). getInputStream (); FileOutputStream fos = ny FileOutputStream (ny fil ("MyFolder /" + filnavn)); mens (fis.read ()! = -1) {fos.write (fis.read ()); } fos.close (); fis.close (); På JSP formler skjemaet multipart: 

Så her, etter mye forskning for å komme til dette punktet, denne gangen er jeg død og min forskning jeg ikke låser opp.

Hvis dette inspirerer deg, vennligst gi meg råd og hvis jeg tar feil om metoden, og det er mye lettere, ikke nøl med! Takk for å lese og god dag.

Løsning

Ok, jeg skjønte like etter at jeg sendte denne meldingen:

Jeg gjør en dobbel fis.read (), så normal at jeg hoppet over tegn ...

Jeg skammer meg, men jeg forlater denne meldingen hvis den kan hjelpe noen. :)

Det korrigerte sangen (bare betinget sløyfe):

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

Merk

Løst av Asefthu

Forrige Artikkel Neste Artikkel

Beste Tips