关于动态获取服务器下图片(显示头像)
温馨提示:
本文最后更新于 2016年11月19日,已超过 2,924 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
这一篇主要记录如何从数据库中获取用户头像信息,并且显示到jsp页面上(img)。一般来说项目中上传的文件都会存放在统一配置的一个文件夹中,这样的话虽然存进去了, 数据库中也保存了相应路径, 但是在jsp页面中访问本项目外的路径却是访问不到的。出现问题总会有解决方法,我们可以使用文件流读取改文件然后输出到页面。
/**
* 根据头像地址,读取头像文件
*
* @param request
* @param response
* @param path
* @author zhangyd-c
* @return void
* @throws
*/
@RequestMapping("/getUserLogo")
public void getUserLogo(HttpServletRequest request,
HttpServletResponse response, String path) {
response.setContentType("image/jpeg"); // 设置返回内容格式
File file = new File(path); // 括号里参数为文件图片路径
if (file.exists()) { // 如果文件存在
InputStream in;
try {
in = new FileInputStream(file);
OutputStream os = response.getOutputStream(); // 创建输出流
byte[] b = new byte[1024];
while (in.read(b) != -1) {
os.write(b);
}
os.flush();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (os != null) {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
jsp页面img标签src:
<img src="/image/getUserLogo?path=${userInfo.userLogo }" style="width: 73px;height: 73px"/>
正文到此结束
- 本文标签: Java
- 本文链接: https://zhyd.me/article/9
- 版权声明: 本文由张亚东原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权