import org.apache.commons.codec.binary.Base64;
import java.io.*;
/**
* @ClassName: Base64Util
* @Description:
* @Author: Edison Chen
* @Date: 2020/11/27 11:52
*/
public class Base64Util {
public static String base64ToFile(String base64Str,String id){
base64Str = base64Str.substring(22);
byte[] bytes = Base64.decodeBase64(base64Str);
String url = "/home/drhui_oss/contract/";
File folder = new File(url);
if(!folder.isDirectory()){
folder.mkdirs();
}
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try{
File f = new File(url+id+".png");
fos = new FileOutputStream(f);
bos = new BufferedOutputStream(fos);
bos.write(bytes);
}catch(Exception e){
e.printStackTrace();
}finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}///home/drhui_oss/
return "http://www.drhui.cn/"+"files/download/contract/"+id+".png";
}
public static void base64FileTest() throws IOException {
String base64String = null;
InputStream in = null;
final Base64 base64 = new Base64();
String fileName = "D:/data/20191217145156.png";
File file = new File(fileName);
in = new FileInputStream(file);
byte[] bytes = new byte[(int) file.length()];
in.read(bytes);
base64String = base64.encodeToString(bytes);
System.out.println(base64String);
File file2 = null;
//创建文件目录
String filePath = "D:/data1";
// String filePath=request.getSession().getServletContext().getRealPath("images/");
File dir = new File(filePath);
if (!dir.exists() && !dir.isDirectory()) {
dir.mkdirs();
}
BufferedOutputStream bos = null;
java.io.FileOutputStream fos = null;
String fileName2 = "new_file.png";
try {
byte[] bytes1 = Base64.decodeBase64(base64String);
file = new File(filePath + "/" + fileName2);
fos = new java.io.FileOutputStream(file);
bos = new BufferedOutputStream(fos);
bos.write(bytes1);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (bos != null) {
try {
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
JAVA处理前端传过来的base64编码进行解码解析成文件保存到服务器
最新推荐文章于 2023-01-05 16:11:40 发布