创建临时文件Base64转file
public static File base64ToFile(String base64) {
if (base64 == null || "".equals(base64)) {
return null;
}
byte[] buff = Base64.getDecoder().decode(base64);
File file = null;
FileOutputStream out = null;
try {
//创建临时文件
file = File.createTempFile("tmp", null);
out = new FileOutputStream(file);
out.write(buff);
} catch (IOException e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return file;
}
临时文件删除,根据自己的业务情况删除临时文件
//立即删除文件
file.delete();
//在JVM退出时删除文件
file.deleteOnExit();
File转Base64
/**
* 文件转base64字符串
* @param file
* @return
*/
public static String fileToBase64(File file) {
String base64 = null;
InputStream in = null;
try {
in = new FileInputStream(file);
byte[] bytes = new byte[in.available()];
int length = in.read(bytes);
base64 = Base64.encodeToString(bytes, 0, length, Base64.DEFAULT);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return base64;
}
MultipartFile 文件转base64
/**
* file转base64
* @param imgFile 文件
* @return
*/
public static String GetImageBase64one(MultipartFile file) {
if(file == null || file.equals("")){
return "";
}
InputStream in = null;
byte[] data = null;
DiskFileItem fi = (DiskFileItem) file.getFileItem();
File file1=fi.getStoreLocation();
try {
in = new FileInputStream(file1);
data = new byte[in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
BASE64Encoder encoder = new BASE64Encoder();
String code = encoder.encode(data);
return code;
}