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 Zitieren
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 Zitieren
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. Zitieren
Mockba Geschrieben 25. November 2009 Autor Geschrieben 25. November 2009 Danke für die Tips ich werds mal probieren mit dem setFileType Zitieren
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 Zitieren
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. Zitieren
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) Zitieren
Mockba Geschrieben 26. November 2009 Autor Geschrieben 26. November 2009 hm ok das muss ich übersehen haben, danke Zitieren
Mockba Geschrieben 26. November 2009 Autor Geschrieben 26. November 2009 Danke jetzt klappt alles :uli Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.