• java (Spring) 控制器中返回图片(验证码需求)


    控制器返回图片步骤如下:

    1.设置 content-type (几遍不设置,现代浏览器一般也能正常解析相应类型)

    2.读取或生成图片的 FileInputStream  

    3.将 FileInputStream   输出到 response.getOutputStream()。

    下面例子:

    有一些程序在sql server中存储图片的方式是通过二进制存储导数据库,那么保存进去之后,怎么把图片显示出来呢?(或文件系统存储图片)

    直接上代码,servlet后台代码:

    byte[] b1 = "";//数据库查询出来的二进制,文件系统用FileInputStream读取
    InputStream in = new ByteArrayInputStream(b1);
    response.setContentType("image/jpg");
    OutputStream out = response.getOutputStream();
    byte[] b2 = new byte[1024];
    int j = 0;
    while ((j = in.read(b2)) != -1) {
        out.write(b2, 0, j);
    }
    out.flush();
    out.close();
    in.close();

    还可以将图片数据,保存到相对应的系统文件夹:

    byte[] bytes1 = "";//文件二进制数据;
    ByteArrayInputStream bais = new ByteArrayInputStream(bytes1);
    BufferedImage bi1 = ImageIO.read(bais);
    File w2 = new File("c://新建文件夹", "照片名字.jpg");// 可以是jpg,png,gif格式
    ImageIO.write(bi1, "jpg", w2);// 不管输出什么格式图片,此处不需改动

    转: https://blog.csdn.net/weixin_44544465/article/details/90611395

    参考 : https://segmentfault.com/q/1010000005180307

  • 相关阅读:
    linux basename 和 dirname 获取当前路径
    灵活的装饰器
    ubuntu 20version install wechat
    git pull 总提示让输入merge 信息
    Linux脚本中$#、$0、$1、$@、$*、$$、$?
    ansible
    MMD讲解
    再生希尔伯特空间与核函数讲解
    流形学习
    聚类
  • 原文地址:https://www.cnblogs.com/fps2tao/p/13356178.html
Copyright © 2020-2023  润新知