Zum Inhalt springen

Problem: FileInputSteam


Empfohlene Beiträge

Geschrieben

Guten Morgen,

ich programmiere zur Zeit an einem FTPClient und dazu nehme ich diese Library (org.apache.commons.net.ftp.FTPClient). Es funktioniert auch soweit der down und upload jedoch werden beim Upload ( den ich unten als Code angefügt habe ) die Files größer und so werden zum Beispiel jpg's nicht korrekt angezeigt nach dem Upload, gif's können nicht mehr gelesen werden und von mp3's bleiben nur noch vereizelte Tonspuren übrig.

Wie müsste ich den Code abändern damit der Upload korrekt funktioniert ?

Schonmal danke im Vorraus.


public class UploadListener implements ActionListener {


	private FTPClient client;


	public UploadListener(FTPClient client) {

		this.client = client;


	}


	@Override

	public void actionPerformed(ActionEvent e) {


		JFrame frame = new JFrame();

		String filePath;

		String fileName;


		JFileChooser dateiAuswahl = new JFileChooser();

		dateiAuswahl.showOpenDialog(frame);

		filePath = dateiAuswahl.getSelectedFile().getPath();


		// Test von FilePath

		System.out.println("Filepath: " + filePath);


		fileName = dateiAuswahl.getSelectedFile().getName();

		// Test vom Outputnamen

		System.out.println(fileName);


		FileInputStream fis = null;

		BufferedInputStream bis = null;

		try {

			fis = new FileInputStream(filePath);

			bis = new BufferedInputStream(fis);

			client.storeFile(fileName, bis);

			bis.close();

			fis.close();

		} catch (FileNotFoundException e1) {

			System.out.println("FILE NOT FOUND!");

			e1.printStackTrace();

		} catch (IOException e1) {

			System.out.println("IOException!");

			e1.printStackTrace();

		}


	}


}

Hier hab ich zum Beispiel ein .jpg um zu demonstrieren was ich meine.

Bild - original

lolgy.jpg

Bild - nach upload

lol2q.jpg

Geschrieben

Wenn man sich mal die Hexdumps der Dateien ansieht, fällt auf, dass vor jedem Byte mit dem Wert 10 ein Byte mit dem Wert 13 eingefügt wurde. Das ist eine Konvertierung von Zeilenumbrüchen für Textdateien.

Geschrieben

Morgen ;),

Ich hab jetzt das ein oder andere probiert aber die setFileType Methode kann ich weder auf den Stream noch auf eine File anwenden wenn ich zum beispiel noch deine File einfüge wie:

File toUpload = new File (filePath);

Gegoogelt hab ich das ganze auch schon aber leider nix gefunden, wäre nett wenn ihr mir nochmals helfen könntet.

lg Christoph

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...