12
返回列表 发新帖
楼主: 權寶兒

求教一个jsp显示图片的问题

[复制链接]
论坛徽章:
7
生肖徽章2007版:鼠
日期:2008-01-02 17:35:53八级虎吧徽章
日期:2009-03-18 15:57:07
11#
 楼主| 发表于 2008-9-12 10:13 | 只看该作者
<%
ArrayList listPages = (ArrayList) request.getAttribute("listPages");
Iterator iter = listPages.iterator();
while (iter.hasNext()) {
    ReplyBean rb = (ReplyBean) iter.next();
    byte[] imgData = rb.getImage();
    response.setContentType("image/gif");
    ServletOutputStream o = response.getOutputStream();
    o.write(imgData);
    o.flush();
    o.close();
}
%>
这样写不对吗?

使用道具 举报

回复
论坛徽章:
131
乌索普
日期:2017-09-26 13:06:30马上加薪
日期:2014-11-22 01:34:242014年世界杯参赛球队: 尼日利亚
日期:2014-06-17 15:23:23马上有对象
日期:2014-05-11 19:35:172014年新春福章
日期:2014-04-04 16:16:58马上有对象
日期:2014-03-08 16:50:54马上加薪
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
12#
发表于 2008-9-12 10:27 | 只看该作者
原帖由 權寶兒 于 2008-9-12 10:13 发表

这样写不对吗?

问电脑去

使用道具 举报

回复
论坛徽章:
96
现任管理团队成员
日期:2011-05-07 01:45:08灰彻蛋
日期:2012-11-05 12:08:062013年新春福章
日期:2013-02-25 14:51:24夏利
日期:2013-09-11 09:03:29雪铁龙
日期:2013-10-29 18:03:40问答徽章
日期:2014-01-22 10:23:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
13#
发表于 2008-9-12 11:20 | 只看该作者
原帖由 justforregister 于 2008-9-12 10:27 AM 发表

问电脑去





nice job

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2008-9-14 09:59 | 只看该作者
原帖由 權寶兒 于 2008-9-12 10:13 发表

这样写不对吗?

看不懂了,你这样把所有的图片都load到一个list里面,算算你每个图片2Mb,平均,如果有20张,40Mb...这个开销得有多大?建议最后把图片提取这种很重的操作单独分开来!
而且你这样循环的输出应该也会有问题吧,从来没有这么做过。。。。。。当然你这样直接写的jSP里也是可以的,JSP本身就是一个servlet. 可以借用之前别人给你的demo,给这个servlet一个ID,然后根据ID去找图片数据,最后输出!

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2008-9-22 11:30 | 只看该作者
不会,顶

使用道具 举报

回复
论坛徽章:
0
16#
发表于 2008-9-22 15:18 | 只看该作者
8楼的是正解。

<%
      try {   
      Blob bt= new Image().getImage("1");  
      byte[]data =bt.getBytes(1,(int) bt.length());


//设置response中内容的类型。不同的类型设置得到的效果是不一样的。也可以不设置。但是不一定能得到需要的效果。建议设置

      response.setContentType("image/gif");   

//从response中获得一个输出流是必须的。

      OutputStream so = response.getOutputStream();
      so.write(data);
      so.flush();
      so.close();
      } catch (Exception e) {
         e.printStackTrace();
      }      
      %>  

大体就是这样,

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表