zoukankan      html  css  js  c++  java
  • 【java工具类】对字节数组字符串进行Base64解码并生成图片



    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的互相转换操作
    **/
    @Component
    public 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:\tupian\new.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 "";
    }
    }
    }
  • 相关阅读:
    Oracle:ORA-12154: TNS:could not resolve the connect identifier specified
    asp.net mvc4 controller
    asp.net MVC4 学习(一)
    Nuget用法
    asp.net mvc4 新特性
    arcgis for silverlight 相关学习资料整理
    (转)ASP.NET 4.0 尚未在 Web 服务器上注册
    EasyUI TreeGrid
    CollabNetSubversionEdge 4.0.4教程
    C# 混淆 反编译
  • 原文地址:https://www.cnblogs.com/tuituji27/p/11304162.html
Copyright © 2011-2022 走看看