91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么將base64編碼字符串轉換為圖片

發布時間:2023-03-17 16:27:30 來源:億速云 閱讀:179 作者:iii 欄目:開發技術

本篇內容介紹了“Java中怎么將base64編碼字符串轉換為圖片”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

將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;
		}
	}
}

補充:Java實現圖片轉base64字符串和圖片互相轉換

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
 
import java.io.*;
 
/**
 * @Description:
 * @Author: Han
 * @CreateDate: 2022/9/7
 **/
public class Test010 {
 
    public static void main(String[] args) {
        String base64Str = imageToBase64Str("D:\\SoftWare\\圖片素材\\頭像\\432.jpeg");
        System.out.println(base64Str);
 
        boolean b = base64StrToImage(base64Str, "D:\\002.jpg");
        System.out.println(b);
    }
 
    /**
     * 圖片轉base64字符串
     *
     * @param imgFile 圖片路徑
     * @return
     */
    public static String imageToBase64Str(String imgFile) {
        InputStream inputStream = null;
        byte[] data = null;
        try {
            inputStream = new FileInputStream(imgFile);
            data = new byte[inputStream.available()];
            inputStream.read(data);
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 加密
        BASE64Encoder encoder = new BASE64Encoder();
        return encoder.encode(data);
    }
 
    /**
     * base64編碼字符串轉換為圖片,并寫入文件
     *
     * @param imgStr base64編碼字符串
     * @param path   圖片路徑
     * @return
     */
    public static boolean base64StrToImage(String imgStr, String path) {
        if (imgStr == null)
            return false;
        BASE64Decoder decoder = new BASE64Decoder();
        try {
            // 解密
            byte[] b = decoder.decodeBuffer(imgStr);
            // 處理數據
            for (int i = 0; i < b.length; ++i) {
                if (b[i] < 0) {
                    b[i] += 256;
                }
            }
            //文件夾不存在則自動創建
            File tempFile = new File(path);
            if (!tempFile.getParentFile().exists()) {
                tempFile.getParentFile().mkdirs();
            }
            OutputStream out = new FileOutputStream(tempFile);
            out.write(b);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    }
 
}

“Java中怎么將base64編碼字符串轉換為圖片”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昭平县| 芜湖市| 峡江县| 淮滨县| 揭东县| 浮山县| 巍山| 江油市| 平阴县| 抚顺市| 洛川县| 黑水县| 镇宁| 诸暨市| 蕉岭县| 江城| 秦皇岛市| 郑州市| 双桥区| 牟定县| 大化| 邮箱| 乌审旗| 崇礼县| 鸡泽县| 延吉市| 五华县| 胶南市| 河曲县| 丰原市| 兴业县| 大余县| 辽源市| 沙湾县| 浦县| 闸北区| 古浪县| 石棉县| 松溪县| 若羌县| 克什克腾旗|