读取sql2000中image类型(已保存有图像的二进制内容),并显示到页面上

breezes2008 2009-09-03 08:30:55
是这样的,person表结构为:id int ,photo image,表中列id是编号,列photo存的是图片.
想把表数据显示到页面中.给出关键性的代码即可。
初学JSP,先谢谢大家!
...全文
168 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
breezes2008 2009-09-04
  • 打赏
  • 举报
回复
问题已解决,谢谢大家。
runshine 2009-09-03
  • 打赏
  • 举报
回复
//从数据库中读出图片二进制内容
Blob blob=(Blob)rs.getBlob("content");
BufferedInputStream inputImage=new BufferedInputStream(blob.getBinaryStream());

BufferedImage image=ImageIO.read(inputImage);
ServletOutputStream sos=response.getOutputStream();
JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(sos);
encoder.encode(image);
inputImage.close();

以上只是主要内容,并不完全,其余的是正常的连接数据库等操作不在列出
这种方式只能用于IE,FireFox会显示成乱码(它把二进制内容当做文本来处理)
另外很少会这么做,不方便且性能有问题
疯狂面条狗 2009-09-03
  • 打赏
  • 举报
回复
这样的设计不太好,将图片直接出道数据库中会占据较大空间,这样势必会影响性能。你可以将图片的路径以字符串的形式存储到数据库中,然后再根据路径来显示图片。。。
鲜为人知 2009-09-03
  • 打赏
  • 举报
回复
问题:photo中存放的是路径还是图像编码?
如果是路径读出来后<img src=''/>就可以了;如果是图像编码可以转后再显示。
你可以在网上搜索一下图片上传下载的组件,都很好用的,能解决大部分的图片问题。
不修bux 2009-09-03
  • 打赏
  • 举报
回复
//设置图片规格
BufferedImage image = new BufferedImage(width, HEIGHT,
BufferedImage.TYPE_INT_RGB);
//用Imageio输出图片
ImageIO.write(image, "JPEG", response.getOutputStream());

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧