html展示图片的两中方式

1、url展示(url展示图片<img src='/img/demo.png'/>)

        1.1、该方式比较大众化,对应后台java代码如下:

@RequestMapping(value = "/img/demo.png")
public void demo(HttpServletResponse response) throws IOException {
    Writer writer = response.getWriter();
    FileInputStream inputStream = null;
    try {
        inputStream = new FileInputStream(new File("d:/demo.png"));
        IOUtils.copy(inputStream,writer);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }finally {
        IOUtils.closeQuietly(inputStream);
    }
}

         1.2、下载功能,需要向后台二次发送请求,其次图片名称如果是中文的话容易乱码、并且一个url对应一张图片,下载代码不在赘述。

 

2、base64展示(base64展示图片<img src="https://img-blog.csdnimg.cn/2022010703450230663.bmp"/>) 

        2.1、该方法写法比较少见、java代码如下:

@RequestMapping(value = "/img/page")
public void demo(Model model) throws IOException {
    FileInputStream inputStream = null;
    try {
        inputStream = new FileInputStream(new File("d:/demo.png"));
        byte[] src = IOUtils.toByteArray(inputStream);
        BASE64Encoder encode = new BASE64Encoder();
        String base64 = encode.encode(src);
        model.addAttribute("base64Data", base64);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } finally {
        IOUtils.closeQuietly(inputStream);
    }
}

        2.2、下载功能,不需要再次向后台发送请求,并且文件名称不存在中文显示乱码的问题,具体下载代码如下:

function download(base64Data, imgname) {
    var alink = document.createElement("a");
    alink.href = base64Data;
    alink.download = imgname;
    alink.click();
}

           以上是我个人笔记,若有不正确的地方请联系我(QQ:1298001635)或者留言,互相学习

            

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值