import com.bootdo.claimApilnteraction.util.BaseFile; import org.apache.commons.codec.binary.Base64; import org.springframework.stereotype.Component; import java.io.*; /** * Base64转码 */ @Component public class Base64Utils { /** * 进行Base64编码处理 * @param in * @return */ public String getBase64FromInputStream(InputStream in) throws IOException{ // 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 byte[] data = null; // 读取图片字节数组 ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] buff = new byte[100]; int rc = 0; while ((rc = in.read(buff, 0, 100)) > 0) { swapStream.write(buff, 0, rc); } data = swapStream.toByteArray(); if (in != null) { in.close(); } return new String(Base64.encodeBase64(data)); } /** * Base64转PDF * @param base64Content * @param filePath */ public void base64StringToPdf(String base64Content,String filePath){ BufferedInputStream bis = null; FileOutputStream fos = null; BufferedOutputStream bos = null; try { byte[] bytes = Base64.decodeBase64(base64Content);//base64编码内容转换为字节数组 ByteArrayInputStream byteInputStream = new ByteArrayInputStream(bytes); bis = new BufferedInputStream(byteInputStream); File file = new File(filePath); File path = file.getParentFile(); if(!path.exists()){ path.mkdirs(); } fos = new FileOutputStream(file); bos = new BufferedOutputStream(fos); byte[] buffer = new byte[1024]; int length = bis.read(buffer); while(length != -1){ bos.write(buffer, 0, length); length = bis.read(buffer); } bos.flush(); } catch (Exception e) { e.printStackTrace(); }finally{ try { if (bis != null){ bis.close(); } if (fos != null){ fos.close(); } if (bos != null){ bos.close(); } } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) throws Exception{ FileInputStream fis = new FileInputStream(new File("H:\\火狐下载位置\\桌面壁纸\\preview.jpg")); String base64 = new Base64Utils().getBase64FromInputStream(fis); BaseFile base = new BaseFile(); byte[] btnum = base.base64ToFile(base64); InputStream is = new ByteArrayInputStream(btnum); FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\Administrator\\Desktop\\123.jpg")); fos.write(btnum); System.out.println(base64); } }
Java-Base64转码
最新推荐文章于 2023-09-27 16:11:04 发布