【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 "";
}
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM