加载中......
输入验证码,即可复制
微信扫码下载好向圈APP, 登陆后即可进入消息页面查看验证码
只需要3秒时间
首先idea建立一个demo工程, 写一个controller模拟base64输出图片

java后台把base64字符串向客户端输出图片-1.jpg

我习惯使用start.aliyun.com

java后台把base64字符串向客户端输出图片-2.jpg

默认直接next

java后台把base64字符串向客户端输出图片-3.jpg

选web即可

java后台把base64字符串向客户端输出图片-4.jpg

点击finish创建好demo工程了



目录结构

java后台把base64字符串向客户端输出图片-5.jpg

主要代码:

pom.xml 因为使用了hutool工具读取txt文件,所以dependency引入hutool-all, 实际应用按需引入(不过hutool是我所有项目必用工具包[呲牙])
<dependency>        <groupId>cn.hutool</groupId>        <artifactId>hutool-all</artifactId>        <version>5.5.8</version></dependency>
base64.txt , 存放测试用的base64字符串, 实际应用存在数据库中, 从数据库中获取.

java后台把base64字符串向客户端输出图片-6.jpg

base64.txt 测试文件, 可以站长助手在线生成一个

PicController.java 代码
package com.example.demo.controller;import cn.hutool.core.io.file.FileReader;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import sun.misc.BASE64Decoder;import javax.servlet.http.HttpServletResponse;import java.io.*;@Controllerpublic class PicController {    @RequestMapping("/getPic")    public void getPic(HttpServletResponse response) throws IOException {        FileReader fileReader = new FileReader("base64.txt");        String base64 = fileReader.readString().replace("data:image/jpeg;base64,","");        // 以上获取base64方式改为自己的逻辑代码, 记得 .replace("data:image/jpeg;base64,",""), 否则解析成图片失败        BASE64Decoder decoder = new BASE64Decoder();        byte[] bytes = decoder.decodeBuffer(base64);        for (int i = 0; i < bytes.length; ++i) {            if (bytes < 0) {// 调整异常数据                bytes += 256;            }        }        //输出图片        response.setContentType("image/jpeg");        response.setDateHeader("expries", -1);        response.setHeader("Cache-Control", "no-cache");        response.setHeader("Pragma", "no-cache");        OutputStream out = response.getOutputStream();        out.write(bytes);        out.flush();        out.close();    }}
启动项目, 然后浏览器地址输入

http://localhost:8080/getPic 即可看到图片

因为前端开发中, 很多时候和第三方对接的详情接口给过来的是上传文件id, 不会直接给图片url的(接口有url当然最舒服[呲牙])
<img src="http://localhost:8080/getPic?id=上传图片数据库保存的id">   这样前端页面就可以直接看到图片了
第一次写文章, 主要想把项目中遇到的问题记录下来, 大家分享.
JAVA圈
25340 查看 0 0 反对

说说我的看法高级模式

您需要登录后才可以回帖 登录|立即注册

还没人评论此主题哦

相关阅读