package com.pollex.pam.service.util; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Base64; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class FileUtil { private static final Logger log = LoggerFactory.getLogger(FileUtil.class); public static File base64ToFile(String base64, String fileName, String folderPath) { if(base64 == null){ return new File(folderPath); } File dir=new File(folderPath); dir.setWritable(true); dir.setReadable(true); if (!dir.exists() && !dir.isDirectory()) { dir.mkdirs(); } return base64ToFile(base64, toPath(fileName, folderPath)); } public static File base64ToFile(String base64, String path) { if(base64 == null){ return new File(path); } BufferedOutputStream bos = null; try { byte[] bytes = Base64.getDecoder().decode(base64); File file=new File(path); file.setWritable(true); file.setReadable(true); bos = new BufferedOutputStream(new FileOutputStream(file)); bos.write(bytes); return file; } catch (Exception e) { log.error("upload file base64 to file error",e); } finally { if (bos != null) { try { bos.close(); } catch (IOException e) { log.error("upload file base64 to file error",e); } } } return null; } public static boolean isFileExisted(String fileName, String folderPath) { return new File(toPath(fileName, folderPath)).isFile(); } public static String toPath(String fileName, String folderPath) { return folderPath + "/" + fileName; } }