zoukankan      html  css  js  c++  java
  • java 通过图片的Base64字符串判断文件格式

    	/**
    	 * base64字符串转写为文件
    	 * 
    	 * @param base64ImgData
    	 * @param filePath
    	 * @throws IOException
    	 */
    	public static void convertBase64DataToImage(String base64ImgData, String filePath) throws IOException {
    		Files.write(Paths.get(filePath), Base64.getDecoder().decode(base64ImgData), StandardOpenOption.CREATE);
    	}
    
    	/**
    	 * 将文件转写为base64字符串
    	 * 
    	 * @param filePath
    	 * @return
    	 * @throws IOException
    	 */
    	public static String convertImageToBase64Data(String filePath) throws IOException {
    		byte[] b = Files.readAllBytes(Paths.get(filePath));
    		return Base64.getEncoder().encodeToString(b);
    	}
    
    	/**
    	 * 判断图片base64字符串的文件格式
    	 * 
    	 * @param base64ImgData
    	 * @return
    	 */
    	public static String checkImageBase64Format(String base64ImgData) {
    		byte[] b = Base64.getDecoder().decode(base64ImgData);
    		String type = "";
    		if (0x424D == ((b[0] & 0xff) << 8 | (b[1] & 0xff))) {
    			type = "bmp";
    		} else if (0x8950 == ((b[0] & 0xff) << 8 | (b[1] & 0xff))) {
    			type = "png";
    		} else if (0xFFD8 == ((b[0] & 0xff) << 8 | (b[1] & 0xff))) {
    			type = "jpg";
    		}
    		return type;
    	}
    
    
  • 相关阅读:
    PHP全部手册
    你必须收藏的GitHub技巧
    PV和并发
    api接口
    LeetCode 14. 最长公共前缀
    LeetCode 1037. 有效的回旋镖
    LeetCode 242. 有效的字母异位词
    LeetCode 151. 翻转字符串里的单词
    LeetCode 22. 括号生成
    LeetCode 面试题05. 替换空格
  • 原文地址:https://www.cnblogs.com/gmhappy/p/13457030.html
Copyright © 2011-2022 走看看