jsp网页输出二进制图片

我用的是主网页include动态加载子网页,主网页从servlet接收了从数据库查到的物品信息(包含二进制图片),使用byte[]数组存储后传到了子网页,这是从子网页接收... 我用的是主网页include动态加载子网页,主网页从servlet接收了从数据库查到的物品信息(包含二进制图片),使用byte[]数组存储后传到了子网页,这是从子网页接收的二进制图片参数

byte[]pictureByte=request.getParameter("pictureByte").getBytes();

求大神解答怎样将这个byte[]中的二进制数据读成图片啊,图片想显示在这个子网页的一个表格列中

附上我的部分代码,谢谢大神指正
<%.........省略部分其他参数
byte[]pictureByte=request.getParameter("pictureByte").getBytes();//接收图片字节数组
%>
<%
ServletOutputStream targetPic=response.getOutputStream();
targetPic.write(pictureByte);
targetPic.flush();
//这段代码报错,错误信息:Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException
%>
<img src="">这里面该怎么写?
基本流程草图如上
展开
 我来答
鱼得水号
推荐于2017-12-16 · 聚爱水族生活馆,让你的生活如鱼得水
鱼得水号
采纳数:585 获赞数:3014

向TA提问 私信TA
展开全部
你这样试试呢,将图片的流首先在servlet中要设置成图片的格式(response.setContentType("image/jpeg"))好像是这么写来着,像jpg||png||gif之类的,然后在前台显示图片的地方将img标签的src的值指向你的流,应该能成功的,我自己机子上有代码的,但是要等晚上下班回去看下。

希望可以帮助到你。如果有帮助,记得采纳……
更多追问追答
追问
因为方便处理,我的Servlet数据查询得到的ResultSet是传给一个叫main.jsp的页面中,ResultSet中有多个商品信息,所以要循环输出到表格,所以我用的是main.jsp动态include 子网页,main.jsp取出二进制数据放在byte[]中作为参数传到子网页,子网页读取读取byte[]中数据现在图片在一个图片表格中
我想在jsp中处理图片,不是在servlet中,谢谢你的回答
追答
你想在jsp中处理图片什么意思?
育知同创教育
2016-02-22 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
jsp网页输出二进制图片是通过流的方式实现的。
参考代码如下:
File file = new File("D:/IMAGE/test.jpg");
byte[] bbb = new byte[10240];
try {
InputStream a = new FileInputStream(file);
a.read(bbb);
System.out.println(bbb[0]);
System.out.println(Integer.toBinaryString(bbb[0]));
} catch (FileNotFoundException e) {

e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
实现思路:这里是一次把图片全读进来,所以定义的数组长度为10240,也就是10kb,当然也可以定义小点,然後分次读。
反正二进制都在这个数组里面,最后两句我只是举了个例子是说明怎麼看这个二进制,第一个是现实二进制对应的整数,第二个是显示二进制了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式