Tomcat: Binary aus DB lesen und an Browser/Client senden

Tim Oliver Wagner <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,
bei mir läuft ein Tomcat 5.X und J2EE 1.5_6.

Mit org.apache.commons.io habe ich es geschafft Dateien hochzuladen und diese 
in eine Datenbank zu speichern. Nun habe ich das Problem, dass ich diese 
Dateien von wieder von Clients runterladen lassen möchte - PDF, DOC,JPG, ... 
es gibt alle möglichen Dateitypen, welche ich zu den Clients senden möchte.

Aus der DB habe ich den Longblob ausgelesen und davon einen InputStream 
erzeugt.

[code]
java.sql.ResultSet rsf = myOne.getFile(request.getParameter("fid"));
	while (rsf.next()) {
		java.io.InputStream is = rsf.getBinaryStream("file");
		File f = new File("/home/tow/" + rsf.getString("fname"));
		FileInputStream fis = new FileInputStream(f);
	}
[/code]

Wie kann ich nun den "is"/BinaryBlob an den Client senden? Mit 
response.getOutputStream() bekomme ich einen OutputStream auf den ich 
schreiben kann.

Wenn möglich möchte ich angeben können um welchen Datei-Typ es sich handelt, 
damit auf dem Client das entsprechende Programm geöffnet werden kann. Das 
müsste doch mit setContentType(String type) gemacht werden können??

Daraus resultier mein Lösungsansatz (funktioniert leider nicht) ... mit 
setContentType den ContentType setzen. Dann den OutputStream holen und Byte 
für Byte vom InputStream lesen und in den OutputStream schreiben. Wie geht 
das? Da mache ich wohl irgendetwas falsch ... falls es so funktioniert.

Ich bin für jeden Tipp dankbar! :-)

tia und schöne Grüße

Oli

-- 
Um die Liste abzubestellen, schicken Sie eine Mail an:
    [email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.