您的位置:首页 > 科技 > 能源 > 基于vue的毕业设计题目_设计网站公司有哪些_疫情防控数据_渠道推广策略

基于vue的毕业设计题目_设计网站公司有哪些_疫情防控数据_渠道推广策略

2024/12/23 16:42:40 来源:https://blog.csdn.net/qq_61950936/article/details/144229229  浏览:    关键词:基于vue的毕业设计题目_设计网站公司有哪些_疫情防控数据_渠道推广策略
基于vue的毕业设计题目_设计网站公司有哪些_疫情防控数据_渠道推广策略

springboot读取tif图片转为png在前端预览

我这里是读取tif后转为png,再转为base64直接传给前端。

在线预览base64的地址:http://www.ecomcn.com/tool/Base64/
在这里插入图片描述
文件目录结构:
在这里插入图片描述

代码:

@Overridepublic List<YbglSetYbSPlitListVo> ybglSetYbSPlitList(String outPath) {if (outPath == null || outPath.equals("")) {return null;}List<YbglSetYbSPlitListVo> ybSPlitListVos = new ArrayList<>();// 跟目录F:\\tempString directory = uploadConfig.getLocalStorageDirectory();File outDir = new File(directory + outPath);// 遍历目录下的文件夹for (File file : Objects.requireNonNull(outDir.listFiles())) {if (file.isDirectory()) {// 只遍历文件夹// 文件夹名用作返回数据的type,在前端区分切片的类型String fileName = file.getName();System.out.println("文件夹: " + fileName);for (File subFile : Objects.requireNonNull(file.listFiles())) {System.out.println(subFile);String[] names = subFile.getName().split("\\.");String[] names2 = subFile.getName().split("_");if (names.length > 1 && "tif".equalsIgnoreCase(names[names.length - 1])) {// 目前只返回tif文件YbglSetYbSPlitListVo ybglSetYbSPlitListVo = new YbglSetYbSPlitListVo();ybglSetYbSPlitListVo.setType(fileName);ybglSetYbSPlitListVo.setYbId(names2[0]);ybglSetYbSPlitListVo.setName(names2[1]);try {// 读取 TIFF 文件BufferedImage image = ImageIO.read(subFile);// 将 BufferedImage 转为 PNG 格式的字节数组ByteArrayOutputStream baos = new ByteArrayOutputStream();ImageIO.write(image, "png", baos);baos.flush();byte[] imageBytes = baos.toByteArray();baos.close();// 将字节数组编码为 Base64 字符串String base64String = Base64.getEncoder().encodeToString(imageBytes);// 转化为base64String thumbBase64 = "data:image/png;base64," + base64String;ybglSetYbSPlitListVo.setThumb(thumbBase64);} catch (IOException e) {e.printStackTrace();}ybSPlitListVos.add(ybglSetYbSPlitListVo);}}}}return ybSPlitListVos;}

前端直接放img预览:

<img :src="item.thumb">

接口返回格式:
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com