网站首页 > 技术文章 正文
首先idea建立一个demo工程, 写一个controller模拟base64输出图片
目录结构
主要代码:
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字符串, 实际应用存在数据库中, 从数据库中获取.
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.*;
@Controller
public 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[i] < 0) {// 调整异常数据
bytes[i] += 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">
这样前端页面就可以直接看到图片了
第一次写文章, 主要想把项目中遇到的问题记录下来, 大家分享.
猜你喜欢
- 2024-10-16 【验证码逆向专栏】百某网数字九宫格验证码逆向分析
- 2024-10-16 jquery-利用canvas让图片旋转角度
- 2024-10-16 一文带你搞懂JS实现压缩图片 js压缩上传图片
- 2024-10-16 前端性能优化之请求优化 前端性能优化问题
- 2024-10-16 Serverless 实战:如何为你的头像增加点装饰?
- 2024-10-16 谈谈图片上传及canvas压缩的流程 js 图片压缩后上传
- 2024-10-16 妹子委婉地和男友说没钱了,结果差点换来一张luo照?
- 2024-10-16 Blob-对象介绍 对象object
- 2024-10-16 《小白HTML5成长之路51》canvas压缩图片上传功能的原理
- 2024-10-16 Dom-to-image截图将html生成图片 html2canvas截图
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)