# jpg vom FTP-Server als BufferedImage laden



## vanny (25. Sep 2011)

Hmpf,

ich hab ein BilderArchiv auf nem FTP-Server liegen, und möchte in meinem Programm gezielt das entsprechende Bild als Thumbnail anzeigen lassen.

Lokal per File auch alles in Ordnung.
Nun steht das Ding(NAS) auf Arbeit und ich würd das auch gerne von zuhause nutzen und da der Bilder-Ordner per FTP erreichbar ist, bietet sich das ja an.

Ich kann auf den Server connecten, der reply-Code gibt mir auch bescheid, der Server is ready.

Nun hab ich schon soviel rumgebastelt und gegoogelt, dass meine Methode mittlerweile zum 3ten mal Schrott ist und ich bis auf ne NPE und IllegalArgumentException : input == null...
nichts Gescheites hinbekommen habe.

Ich bleib am ball 

wenn jemand jedoch mal Idee hat, wie ich an eine File oder noch besser direkt ein BufferedImage komme, welches ich in meinem Programm benutzen kann ohne das Bild irgendwo temporär abzuspeichern, wäre mir sehr geholfen.

Ich benutze cummons-net-3.0.1

Hier mal die Stelle, an der ich grad nicht weiterkomme(stark vereinfacht)


```
InputStream in = null;
in = ftp.retrieveFileStream(datei);
BufferedImage image = ImageIO.read(in);
```

Danke und Gruß Vanny


----------



## HoaX (25. Sep 2011)

Mal probiert den Passiv-Modus zu verwenden?


----------



## vanny (25. Sep 2011)

Ich bin recht unerfahren mit der ganzen FTP-Geschichte aber wenn,


```
ftp.setFileTransferMode(FTPClient.PASSIVE_REMOTE_DATA_CONNECTION_MODE);
//oder
ftp.setFileTransferMode(FTPClient.PASSIVE_LOCAL_DATA_CONNECTION_MODE);
```

den Passivmodus setzt, dann bringt es leider nichts.

Gruß Vanny


----------



## vanny (27. Sep 2011)

Vielleicht nochmal ein Ansatz, mit dem mir jemand helfen könnte.

Ich bekomme ja aus der DB alle Daten, die ich benötige um mir die URL:

ftp://user:passwort@dyndns.bla/Bilder/dateiname.jpg

zu generieren.

Wenn ich diese mit nem sysout ausgeben lasse und dann in den Browser kopiere sehe ich das Bild.
Also muss ich doch auch irgendwie da ran kommen ohne ein riesen Heckmeck zu veranstalten oder irre ich mich da !?

so looong Vanny


----------



## vanny (30. Sep 2011)

So hat sich erledigt, war mal wieder mit Kanonen auf Spatzen geschossen.
Einfach:

```
URL url = new URL(ftpPfad + dateiname + ".jpg");
BufferedImage image = ImageIO.read(url);
```

macht genau das, was ich benötige.


----------

