【java工具类】对字节数组字符串进行Base64解码并生成图片
发布时间:2020-12-15 05:27:32 所属栏目:Java 来源:网络整理
导读:import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import sun.misc.BASE64Decoder;/** * @description: 文
import java.io.File;import java.io.FileOutputStream;import java.io.OutputStream;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;import sun.misc.BASE64Decoder;/** * @description: 文件与base64的互相转换操作 **/@Componentpublic class Base64ImgUtils { @Value("${save-file-directory.path}") public static String fileDirectory; /** * 对字节数组字符串进行Base64解码并生成图片 * * @param base64Str base64加密字符串 * @param dictionary 文件夹路径 * @param filename 文件名 * @param suffix 后缀名 * @return */ public static String GenerateImage(String base64Str,String dictionary,String filename,String suffix) { if (base64Str == null) // 图像数据为空 return ""; BASE64Decoder decoder = new BASE64Decoder(); try { // 生成文件 String FileDir = fileDirectory + "" + dictionary; // 文件夹路径 File file = new File(FileDir); if (!file.exists()) { file.mkdirs(); } String filePath = fileDirectory + "" + dictionary + "" + filename + "." + suffix; // "F:tupiannew.xml";//新生成的图片 OutputStream out = new FileOutputStream(filePath); // Base64解码 byte[] b = decoder.decodeBuffer(base64Str); for (int i = 0; i < b.length; ++i) { if (b[i] < 0) {// 调整异常数据 b[i] += 256; } } out.write(b); out.flush(); out.close(); return filePath; } catch (Exception e) { return ""; } }} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |