Java中如何将base64编码字符串转换为图片呢?
下文笔者讲述使用java代码将base64字符串转换为图片的方法分享,如下所示
Base64转换为图片的工具类
实现思路: 1.使用Base64.Decoder方法将字符串转换为字节数组 2.将字节数组写入到文件中即可例:
Base64转换为图片的工具类
package com.java265; import javax.servlet.http.HttpServletRequest; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.Base64; import java.util.UUID; public class ImageUtil { /** * @Description: 将base64编码字符串转换为图片 * @Author: * @CreateTime: * @param file base64编码字符串 * @param path 图片路径-具体到文件 * @return */ public static String generateImage(String file, String path, HttpServletRequest request) { // 解密 try { // 项目绝对路径 String savePath = request.getSession().getServletContext().getRealPath("upload"); // 图片分类路径+图片名+图片后缀 String imgClassPath = path.concat(UUID.randomUUID().toString()).concat(".jpg"); // 解密 Base64.Decoder decoder = Base64.getDecoder(); // 去掉base64前缀 data:image/jpeg;base64, file = file.substring(file.indexOf(",", 1) + 1, file.length()); byte[] b = decoder.decode(file); // 处理数据 for (int i = 0; i < b.length; ++i) { if (b[i] < 0) { b[i] += 256; } } // 保存图片 OutputStream out = new FileOutputStream(savePath.concat(imgClassPath)); out.write(b); out.flush(); out.close(); // 返回图片的相对路径 = 图片分类路径+图片名+图片后缀 return imgClassPath; } catch (IOException e) { return null; } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。