Hallo,
angetzeigt werden soll ein Bild, dass als Blob in einer MySQL Datenbank hinterlegt ist. Soweit so gut und in der Java-Welt gibt es genug Beispiele
Problematisch wird es nun, wenn ich in diesem Servlet auch HTML Code ausgeben möchte. Derzeit greife ich auf das Bild in anderen Servlets zu indem ich die URL dieses Servlets als SRC angebe. Sofern ich den ContentType hier in text/html ändere und versuche den encoder als SRC für ein Bild anzugeben, klappts nicht. Was auch nicht weiter verwunderlich ist ^^
Gibt es eine Möglichkeit sowohl das Bild als auch HTML Code im ServletOutputStream unterzubringen?
lG aus Berlin,
Stephan
angetzeigt werden soll ein Bild, dass als Blob in einer MySQL Datenbank hinterlegt ist. Soweit so gut und in der Java-Welt gibt es genug Beispiele
Code:
public void doPost(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException {
ServletOutputStream out = response.getOutputStream();
startDBConnection();
Blob photo = null;
ResultSet rs = null;
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("SELECT bild FROM test");
rs = ps.executeQuery();
if (rs.next()) {
response.setContentType("image/jpeg");
photo = rs.getBlob(1);
InputStream in = photo.getBinaryStream();
Image image = ImageIO.read(in);
BufferedImage outImg = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics g = outImg.getGraphics();
g.drawImage(image, 0,0,null);
g.dispose();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(outImg);
}
}
catch (SQLException e) {}
catch (IOException ex) {}
endDBConnection();
Problematisch wird es nun, wenn ich in diesem Servlet auch HTML Code ausgeben möchte. Derzeit greife ich auf das Bild in anderen Servlets zu indem ich die URL dieses Servlets als SRC angebe. Sofern ich den ContentType hier in text/html ändere und versuche den encoder als SRC für ein Bild anzugeben, klappts nicht. Was auch nicht weiter verwunderlich ist ^^
Gibt es eine Möglichkeit sowohl das Bild als auch HTML Code im ServletOutputStream unterzubringen?
lG aus Berlin,
Stephan