Apache Commons Net - problem ze sciąganiem zdjęć z FTP-a

0

Witam wszystkich.
Robie projekt panelu administracyjnego strony internetowej.
Do połączeń korzystam z Apache Commons Net
głównie z klasy FTPClient. Podczas dodawania możliwości dodaj/usuń zdjęcie
napotkałem bardzo dziwny problem, mianowicie
podczas sciągania plików graficznych(jpg) z serwera zdjęcia zostają zniekształcone albo w ogóle nie można go zobaczyć. Pliki tekstowe pobiera bez zarzutu. Do ściągania używam poniższego kodu:

FTPClient ftpClient //zostal poprawnie połączony

	public static void downloadPhoto(String a){
		 try {
		           ftpClient.enterLocalPassiveMode();
		           String photoPath = "public_html/Galeria/" + a;
		           File downloadFile = new File(a);
		           InputStream photoIn = ftpClient.retrieveFileStream(photoPath);
		           OutputStream toFileStream = new FileOutputStream(downloadFile);
		  
		           int read = 0;
		           byte[] bytes = new byte[2048];
		  
		           while((read = photoIn.read(bytes)) != -1){
		 	             toFileStream.write(bytes, 0, read);
		           }
		  
		           photoIn.close();
		           toFileStream.close();
		 } catch (IOException ex) {
		           ex.printStackTrace();
		 }
	}

Wygląda to tak jakby mi ucinało jakies bity ale dlaczego?? :O

W załączniku macie przykładowe pliki:
plik przeniesiony recznie przez Ftp a nastepnie za pomocą Apache Commons

1

https://commons.apache.org/proper/commons-net/apidocs/org/apache/commons/net/ftp/FTPClient.html#setFileType(int)

Sets the file type to be transferred. This should be one of FTP.ASCII_FILE_TYPE , FTP.BINARY_FILE_TYPE, etc. The file type only needs to be set when you want to change the type. After changing it, the new type stays in effect until you change it again. The default file type is FTP.ASCII_FILE_TYPE if this method is never called.

Transferujesz dane binarne jako tekstowe, więc się psują.

1 użytkowników online, w tym zalogowanych: 0, gości: 1