如何在Mysql中显示struts2中的图像blob类型Db
图像的Blob类型正在到达JSP页面,但是它的格式不可读。如何在Mysql中显示struts2中的图像blob类型Db
服务方法:
Iterator itr = list.iterator();
if (itr.hasNext()) {
Membersdetails get = (Membersdetails) itr.next();
repCurrentImage = get.getRepPicture();
}
return repCurrentImage;
&我的Action类:
repCurrentImage = sdf.getrepImage(loginId);
最后我的JSP页面:
<img src="<s:property value="repCurrentImage"/>
它看起来就像你正在试图嵌入的内容图像直接进入JSP ...这不会工作,你只能提供一个网址(最好的建设使用struts2 url标签,它将引用将返回流结果并采取所需参数来选择图像的操作)。
这个问题/答案则表示所使用的渲染图片这样的结果类型的动作:How to display image(bolb type) in jsp page from mySql DB in Struts 2 using Hibernate
我是我的经验,良好的DB数据类型是MEDIUMBLOB,具有更小的东西截断的形象变成了一个问题(你只会看到文件的第一部分,因为这是所有可以存储的,尽管它可能是生产中最好的,以确保该文件适合!)。
+ 1为漂亮的示例链接@Quaternion先生显示它。关于我对不良设计的评论,我没有想到跨平台依赖。谢谢你的清理。其实我有这样的看法,即文件系统在存储和检索文件时总是比数据库更快。 – tusar 2012-04-26 10:15:13
是的,我做到了...... – 2012-04-27 03:35:57
新代码:if(itr.hasNext()) { Membersdetails get =(Membersdetails)itr.next(); repCurrentSignature = get.getRepSignature(); HttpServletResponse res = ServletActionContext.getResponse(); res.setContentType(“multipart/form-data”); ServletOutputStream out = res.getOutputStream(); out.write(repCurrentSignature); out.flush(); } – 2012-04-27 03:37:12
你如何显示图像。在表格中或者您想要在页面上呈现它。 – 2012-04-26 07:49:54
在数据库中存储文件是不好的设计。我建议将'file-name'或'file-id'存储在数据库中,并仅从文件系统中选择文件。 – tusar 2012-04-26 09:32:54
@tusar是怎么回事?我见过的基准测试显示边际性能差异,它避免了容器各自管理文件系统的一些平台特定问题。 – Quaternion 2012-04-26 09:50:31