最近项目中需要用到IO流来读取图片以提供前台页面展示,由于以前一直是用url路径的方式进行图片展示,一听说要项目要用IO流读取图片感觉好复杂一样,但任务下达下来了,做为程序员只有选择去执行喽,于是找了点资料看了会api,
嘿感觉挺简单的,由于是第一次采用IO流的方式进行读取图片供页面显示,所以把以下代码记录一下
后台代码:
java" id="highlighter_547962">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/**
* IO流读取图片 by:long
* @return
*/
@RequestMapping (value = "/IoReadImage/{imgName}" , method = RequestMethod.GET)
public String IoReadImage( @PathVariable String imgName,HttpServletRequest request,HttpServletResponse response) throws IOException {
ServletOutputStream out = null ;
FileInputStream ips = null ;
try {
//获取图片存放路径
String imgPath = Constans.FOLDER_IMAGE + imgName;
ips = new FileInputStream( new File(imgPath));
response.setContentType( "multipart/form-data" );
out = response.getOutputStream();
//读取文件流
int len = 0 ;
byte [] buffer = new byte [ 1024 * 10 ];
while ((len = ips.read(buffer)) != - 1 ){
out.write(buffer, 0 ,len);
}
out.flush();
}
catch (Exception e){
e.printStackTrace();
}
finally {
out.close();
ips.close();
}
return null ;
}
|
前台代码 - 方式一:
1
2
3
4
5
|
< span style = "white-space:pre;" > </ span >< div style = "float: left;" >
<#--${model.userDatil.photo} 为数据库存放的文件名称-->
< img src = "${ctx}/userInfo/IoReadImage/${model.userDatil.photo}" id = "npcImg" width = "125" height = "148" />
< input type = "hidden" id = "photo" name = "photo" />
</ div >
|
js代码 - 方式二:
1
2
3
|
var npcName = $( '#npcImg' ).data( 'val' );
var img = document.getElementById( "npcImg" );
img.src = '/userInfo/IoReadImage/' +npcName;
|
jQuery代码 - 方式三:
1
|
$( '#npcImg' ).attr( 'src' , '/userInfo/IoReadImage/' +npcName);
|
好了就这么简单,前台就可以显示图片了,总共才几句代码,就不额外注释说明了
总结
已上就是本文关于java IO流读取图片供前台显示代码分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
原文链接:http://blog.csdn.net/u014598014/article/details/70232854