新:最近又做了次修改,为图片资源的目录建立一个软连接,然后再项目中直接转向到该静态资源即可
我这里用的struts2,配置代码如下:
<action name="img" class="sysFileuploadAction" method="img">
<result name="success" >/${filePath}</result>
</action>
在执行方法中将图片地址给参数filePath即可!
****以下为老方法****
开始偶用的是imageIo来操作,代码简单省事,但效率真是个问题,时不时的就挂机。中间想换成静态地址,但也没换。最后偶用的下面这个方法,感觉不错:
this.getResponse().reset();
this.getResponse().setContentType("image/*");
File file = new File(文件路径);
try {
InputStream in = new FileInputStream(file);
byte[] bytearray = new byte[1024];
while(in.read(bytearray)!=-1){
this.getResponse().getOutputStream().write(bytearray);
}
this.getResponse().getOutputStream().flush();//必须清除流,否则图片不能正常显示
in.close();
} catch (Exception e) {
e.printStackTrace();
}