zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    APP调用微信支付
    怎么在腾讯云上部署项目
    Jfinal中使用redis
    Jfinal框架中使用WebSocket
    一道sql面试题
    git本地仓库上传到git远程仓库的指令
    怎么启动postsqlgres
    SpringMVC用List接收请求参数
    转发 电商面试题100问
    转--MyBatis-Plus代码自动生成工具
  • 原文地址:https://www.cnblogs.com/fps2tao/p/13356178.html
Copyright © 2011-2022 走看看