cyb3rdragon
Mitglied
Hi zusammen,
ich möchte einen InputStream in einen FileInputStream umwandeln. Grund dafür ist das ich in einer Datenbank Bilder hab die auf einen FTP-Server sollen. Das Problem ist das ich aus der Datenbank ein BufferedImage bzw. einen InputStream bekomme und mein FTP-client benötigt einen FileInputStream. Ich möchte die Datei nicht erst auf der Festplatte zwischenspeichern.
Hier die Methode mit der ich bisher die Bilder geladen hab. Die Verbindung zur Datenbank wurde vorher hergestellt.
Hier wird zwar ein Array mit bufferedImages zurück gegeben aber es ist ja kein Problem ne 2. Methode zu schreiben um das Problem zu lösen.
Und hier der Teil mit dem FTP. Auch hier wurde die Verbindung zum Server schon hergestellt.
ich möchte einen InputStream in einen FileInputStream umwandeln. Grund dafür ist das ich in einer Datenbank Bilder hab die auf einen FTP-Server sollen. Das Problem ist das ich aus der Datenbank ein BufferedImage bzw. einen InputStream bekomme und mein FTP-client benötigt einen FileInputStream. Ich möchte die Datei nicht erst auf der Festplatte zwischenspeichern.
Hier die Methode mit der ich bisher die Bilder geladen hab. Die Verbindung zur Datenbank wurde vorher hergestellt.
Code:
public BufferedImage[] loadPic (String querry, int pos) throws SQLException
{
Vector vImg = new Vector();
ResultSet rs = getSQL(querry);
int i = 0;
while (rs.next())
{
try
{
InputStream is = rs.getBinaryStream(pos);
vImg.add(ImageIO.read(is));
is.close();
} catch (SQLException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
}
}
return (BufferedImage[]) (vImg.toArray(new BufferedImage[vImg.size()]));
}
Und hier der Teil mit dem FTP. Auch hier wurde die Verbindung zum Server schon hergestellt.
Code:
InputStream input;
input = new FileInputStream(local);
ftp.storeFile(remote, input);
input.close();