Java - Dosya Aktarımı İstemci-Sunucu

[Java] Dosya Aktarımı İstemci-Sunucu

Konu

Java'daki bir Web uygulamasının bir parçası olarak, bir form aracılığıyla kullanıcıların sunucuya dosya gönderebilmelerini (herhangi bir tür: Excel çalışma kitabı, resim ...) ve bu nedenle uygulama klasörüne kaydetmelerini istiyorum.

Şimdi benim sorunum, dosyaların tamamen geri yüklenmemesidir (sanırım onlar, ancak yazma konusunda bir sorunum var), açıkladım: "Blabla. Txt" dosyasını yüklediğimde, içeriği "Merhaba, Perşembe", 16 Temmuz 2009 ve gökyüzü güneşli. ", Daha sonra sunucuya kaydedilen dosya:" Blabla.txt "içerikli:" oju, naked omsl ed tl 6Jilt20 ileteslil. " bir mektup sadece iki tane yazıldı. Bir görüntü durumunda testi yapamam çünkü bu rotayı aldıktan sonra görüntüleyemezsiniz.

Bu bulgu bana bunun kodlamada bir sorun olduğunu düşündürüyor, ama hiçbir şey bilmediğimden emin olamıyorum.

Kısacası, işte benim kodum:

 boolean isMultipart FileUpload.isMultipartContent = (istek); DiskFileUpload DiskFileUpload upload = new (); Liste öğeleri = null; deneyin {upload.parseRequest items = (request); } Catch (FileUploadException e) {} String fileName = ((FileItem) items.get (0)). GetName (); fileName = nomFichier.substring (nomFichier.lastIndexOf ("\ \") +1); GirdiStStream = null; did = (InputStream) ((FileItem) items.get (0)). getInputStream (); FileOutputStream fos = new FileOutputStream (yeni Dosya ("MyFolder /" + fileName)); while (fis.read ()! = -1) {fos.write (fis.read ()); } fos.close (); fis.close (); JSP'de, form çok parçalı kodlar: 

İşte burada, bu noktaya gelmek için çok araştırma yaptıktan sonra, bu sefer öldüm ve araştırmam kilidini açmıyorum.

Bu size ilham veriyorsa, lütfen bana tavsiyede bulunun ve yöntem konusunda yanılıyorsam ve çok daha kolaysa, tereddüt etmeyin! Okuduğunuz ve iyi günler için teşekkürler.

Çözüm

Tamam, bu mesajı gönderdikten hemen sonra anladım:

Çifte fis.read () yapıyorum, o kadar normal ki karakterleri atladım ...

Çok utanıyorum ama bu mesajı eğer yardımcı olabilirse bırakıyorum. :)

Bu şarkıyı düzeltti (sadece koşullu döngü):

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

Not

Asefthu tarafından çözüldü

Önceki Makale Sonraki Makale

En Ipuçları