Mockba Geschrieben 25. November 2009 Geschrieben 25. November 2009 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 Bild - nach upload
kingofbrain Geschrieben 25. November 2009 Geschrieben 25. November 2009 Servus, kann es sein, dass der Dateityp nicht stimmt? Du also ein binäres File hochlädst, der Client aber meint, es wäre ein Textfile? Die Methode setFileType könnte hier helfen. Peter
Klotzkopp Geschrieben 25. November 2009 Geschrieben 25. November 2009 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.
Mockba Geschrieben 25. November 2009 Autor Geschrieben 25. November 2009 Danke für die Tips ich werds mal probieren mit dem setFileType
Mockba Geschrieben 26. November 2009 Autor Geschrieben 26. November 2009 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
vince-blacky Geschrieben 26. November 2009 Geschrieben 26. November 2009 Hi, ich denke Du brauchst noch eine Instanz von einer Klasse Namens "InputStreamReader". Ebenfalls findest Du diese Klasseim java.io-Package.
Klotzkopp Geschrieben 26. November 2009 Geschrieben 26. November 2009 Ich hab jetzt das ein oder andere probiert aber die setFileType Methode kann ich weder auf den Stream noch auf eine File anwenden Du sollst sie auf den FTP Client anwenden: FTPClient (Commons Net 2.0 API)
Mockba Geschrieben 26. November 2009 Autor Geschrieben 26. November 2009 hm ok das muss ich übersehen haben, danke
Mockba Geschrieben 26. November 2009 Autor Geschrieben 26. November 2009 Danke jetzt klappt alles :uli
Empfohlene Beiträge
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 erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden