jsp 获取本地图片的实例详解
ie当前7以上版本不支持直接在src上写本地硬盘地址来显示图片。因为我们只有通过后台在response中读到二进制流的方式来在前台显示图片。
具体代码如下:
public void showpicture(){
string id = servletactioncontext.getrequest().getparameter("id");//前台传来的存图片路径实体类的主键id
httpservletresponse response = servletactioncontext.getresponse();//struts2获取response
if(id != null && !"".equals(id)){
this.classiccases = this.classiccasesmanager.findclassiccasesbyid(id);
string pic_path = this.classiccases.getimageslocalpath();//图片路径
fileinputstream is;
try {
is = new fileinputstream(pic_path);
int i = is.available(); // 得到文件大小
byte data[] = new byte[i];
is.read(data); // 读数据
is.close();
response.setcontenttype("image/*"); // 设置返回的文件类型
outputstream toclient = response.getoutputstream(); // 得到向客户端输出二进制数据的对象
toclient.write(data); // 输出数据
toclient.close();
} catch (filenotfoundexception e) {
e.printstacktrace();
} catch (ioexception e) {
e.printstacktrace();
}
}
}
jsp页面很简单,路径格式为,http://localhost:8080/projectname/*.action:prama=xxx
<img alt="" id="images" src="<%=basepath %>classiccasesaction!showpicture.action?id=${classiccases.id}">
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!