`
843977358
  • 浏览: 242003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于动态获取服务器下图片吗,用于显示在img的src中(上传头像后显示头像)

阅读更多

    关于动态获取服务器下图片吗,用于显示在img的src中(上传头像后显示头像)

    这一篇主要记录如何从数据库中获取用户头像信息,并且显示到jsp页面上(img)。

    一般来说项目中上传的文件都会存放在统一配置的一个文件夹中,这样的话虽然存进去了, 数据库中也保存了相应路径, 但是在jsp页面中访问本项目外的路径却是访问不到的。

    出现问题总会有解决方法,我们可以使用文件流读取改文件然后输出到页面。就和iteye的头像获取类似



 

Java代码:

/**
	 * 根据头像地址,读取头像文件
	 * 
	 * @param request
	 * @param response
	 * @param path
	 * @author zhangyd-c
	 * @date 2015年5月28日 上午9:21:02
	 * @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);
				}
				in.close();
				os.flush();
				os.close();
			} catch (FileNotFoundException e) {
				e.printStackTrace();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

 jsp页面访问该controller:

<img src="/image/getUserLogo?path=${userInfo.userLogo }" style="width: 73px;height: 73px"/>

 效果:



 

  • 大小: 70.1 KB
  • 大小: 37 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics