Java中將base64編碼字符串轉換爲圖片

前一段時間,在做攝像頭拍照上傳,攝像頭拍的照片爲base64編碼格式的字符串,需要上傳至項目中,則需要使用到將base64編碼字符串轉換爲圖片

1、將base64編碼字符串轉換爲圖片的代碼如下 ImageUtil.java:

package util;

import javax.servlet.http.HttpServletRequest;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Base64;
import java.util.UUID;

public class ImageUtil {

	/**
	 * @Description: 將base64編碼字符串轉換爲圖片
	 * @Author:
	 * @CreateTime:
	 * @param file base64編碼字符串
	 * @param path 圖片路徑-具體到文件
	 * @return
	 */
	public static String generateImage(String file, String path, HttpServletRequest request) {
		// 解密
		try {
			// 項目絕對路徑
			String savePath = request.getSession().getServletContext().getRealPath("upload");
			// 圖片分類路徑+圖片名+圖片後綴
			String imgClassPath = path.concat(UUID.randomUUID().toString()).concat(".jpg");
			// 解密
			Base64.Decoder decoder = Base64.getDecoder();
			// 去掉base64前綴 data:image/jpeg;base64,
			file = file.substring(file.indexOf(",", 1) + 1, file.length());
			byte[] b = decoder.decode(file);
			// 處理數據
			for (int i = 0; i < b.length; ++i) {
				if (b[i] < 0) {
					b[i] += 256;
				}
			}
			// 保存圖片
			OutputStream out = new FileOutputStream(savePath.concat(imgClassPath));
			out.write(b);
			out.flush();
			out.close();
			// 返回圖片的相對路徑 = 圖片分類路徑+圖片名+圖片後綴
			return imgClassPath;
		} catch (IOException e) {
			return null;
		}
	}
}

如您在閱讀中發現不足,歡迎留言!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章