当我想使用JAVA使用OLE显示存储在数据库中的图像时,我遇到了问题。
答案 0 :(得分:2)
如果您的图像数据作为某个blob存储在数据库中,您可能希望使用ImageIcon
并使用byte[] imageData
构造函数构建它:
ImageIcon(byte[] imageData)
从包含支持的图像格式的图像文件中读取的字节数组创建ImageIcon,例如GIF,JPEG或(从1.3开始)PNG。
答案 1 :(得分:2)
尝试做一个好的猜测,我会说你必须使用blob从数据库中读取它,例如:
PreparedStatement pstmt = connection.prepareStatement("SELECT imageblob FROM YOUR_TABLE where id = ?");
pstmt.setInt( 1, imageId );
ResultSet rs = pstmt.executeQuery();
byte[]data = null;
while( rs.next() ) {
data = rs.getBlob(1).getBytes();
}
然后通过将数据写入输出流来使用servlet显示它。
....
response.setContentType("image/jpg");
response.getOutputStream().write(data,0,data.length );
response.getOutputStream().flush();
但这只是猜测,因为你的问题缺乏基本信息。
以下是与Blob和Servlets相关的一些链接
http://www.java2s.com/Code/Java/Database-SQL-JDBC/BlobJDBCdealswithBinaryData.htm
http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/blob.html
http://www.roseindia.net/servlets/retreiveimage.shtml
我希望这会有所帮助