日期:2014-05-17  浏览次数:20733 次

远程图片预览
小弟想要在客户端预览储存在服务器端的图片,前台JSP,后台JAVA,服务器Tomcat6.x。
<img>标签的src属性接受的是一个url,目前存储在“ .../Tomcat6.x/webapps/项目名/ ”这个路径下的图片可以通过url对其定位进行预览,如果,指定任意路径,不是存储在这个路径下的图片呢?例如Tomcat装在了D盘,而我有一写图片存储在了E盘,这种情况怎样处理才能预览的到?我问了问,朋友说让我试试将图片转成流,然后给<img>标签的src接收。我研究了半天,还是搞不定。
我想在客户端预览存储在服务器任意路径下的图片(不考虑防火墙,访问权限等其他问题),各位大大有什么办法没?万分感谢

------解决方案--------------------
给你一个博客,应该是你需要的:
img src的特殊使用
------解决方案--------------------
你朋友都给你思路了,你做过验证码的图片吗?一样的道理啊
------解决方案--------------------
<img src="<%=path%>/showImage.do?id=${id}"/> 你可以写个servlet 专门处理图片的。 当然你的 servlet 的中
// 取得图片字段的Blob
byte[] imgBlob = (byte[])hibernateTemplate.find(hql).get(0);
// 取得Servlet的输出流,以便稍后输出图片
ServletOutputStream sos = response.getOutputStream();
// 这是读取Blob数据的关键,获得Blob的输入流
ByteArrayInputStream iis = new ByteArrayInputStream(imgBlob);
// 为了将Blob字段包装成图片,使用ImageIo的静态方法read
BufferedImage image = ImageIO.read(iis);
// 将图片写入到Servlet的输出流中
ImageIO.write(image, "JPG", sos);

iis.close();


sql 可以自己写了