java web 显示图片

工作中总会遇到上传图片和显示图片的功能,我介绍一下我回显图片的方法:返回二进制图片

我上传图片至服务器后,会将图片保存到硬盘里,然后在数据库中保存一个硬盘地址,需要回显图片时就使用这个地址找到图片,然后回显。

@PostMapping("/getimg")
@ResponseBody
public void getimg(String address,HttpServletRequest request, HttpServletResponse response) {
	FileInputStream fis = null;
	OutputStream os = null;
	try {
	    try {
		fis = new FileInputStream(address);
	    }catch(FileNotFoundException e) {
	        System.out.println(address+"该文件未找到,将替换为默认图片。");
		fis = new FileInputStream("E:\moren.jpg");
	    }
	    os = response.getOutputStream();
	    int count = 0;
	    byte[] buffer = new byte[1024 * 8];
	    while ((count = fis.read(buffer)) != -1) {
		os.write(buffer, 0, count);
		os.flush();
	    }
	} catch (Exception e) {
	    e.printStackTrace();
	    System.out.println("返回图片出现异常");
	}finally {
	    try {
		fis.close();
		os.close();
	    } catch (Exception e) {
		e.printStackTrace();
	    }
	}
}

前端:

<img src="getimg方法?address=硬盘地址">

可以直接写在html中  也可以使用jq等方式给img标签的src属性赋值

这里有一点要注意的  如果你使用的是tomcat8.5.30以上版本的话要给“\”转义

因为在tomcat8.5.30以上的版本中会拦截“\”字符

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荒野漫步者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值