base64 转各种类型的图片
前言
提示:前几天写base64转图片时遇见了个问题,在百度上base64转图片的方式几乎都是转成jpg或者其他图片类型的图片,所以记录下base64转各种类型图片。
一、步骤
1.引入库
代码如下(示例):
//将base64转图片
//获取类加载的根路径
File file3 = new File(this.getClass().getResource("/").getPath());
String canonicalPath = file3.getCanonicalPath();
String classPath = canonicalPath.substring(0, canonicalPath.indexOf("WEB-INF")) + "images";
String[] split = sku_img.split("base64,");
String header = split[0];
String[] imgType = header.split("/");//图片后缀
String type=imgType[1].substring(0,imgType[1].length()-1);
String imageName = valueObject.getValue("barcode") +"."+type;
dataMap.put("pic", ConfigPropertiesUtils.getPropertiesByKey("LOCAL.HOST")+"/images/"+imageName);//商品图片
CommonUtils.base64StrToFile(split[1],imageName,classPath+"\\");
public static void base64StrToFile(String base64Str,String fileName,String parentPath){
File file = new File(parentPath,fileName);
System.out.println(base64Str);
FileOutputStream out = null;
if(file.exists()){
return ;
}
try {
byte[] bytes1 = new BASE64Decoder().decodeBuffer(base64Str);
ByteArrayInputStream in = new ByteArrayInputStream(bytes1);
byte[] buffer = new byte[1024];
out = new FileOutputStream(file);
int byteSum = 0;
int byteRead = 0;
while ((byteRead = in.read(buffer)) != -1){
byteSum += byteRead;
out.write(buffer,0,byteRead);
}
}catch (Exception ex){
throw new RuntimeException("transform base64 String into file 出错",ex);
}finally {
try {
if(null != out){
out.close();
}
}catch (IOException ex){
ex.printStackTrace();
}
}
}
总结
以上就是今天要讲的内容,本文仅仅简单介绍了base64转各种类型的图片的使用。