base64字符串和圖片的轉換


一.base64字符串轉換成圖片 (對字節數組字符串進行Base64解碼並生成圖片)

入參:imgStr base64字符串、imgFilePath 指定生成的圖片存放路徑 (注意:帶文件名)

public static boolean Base64ToImage(String imgStr,String imgFilePath) {
        if (StringUtil.isEmpty(imgStr)) // 圖像數據為空
            return false;
        try {
            // Base64解碼
            byte[] b = Base64Utils.decodeFromString(imgStr);
            for (int i = 0; i < b.length; ++i) {
                if (b[i] < 0) {// 調整異常數據
                    b[i] += 256;
                }
            }
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(b);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    }

二.本地圖片轉換Base64

入參:imgFilePath 指定圖片存放路徑 (注意:帶文件名)

    public static String ImageToBase64(String imgFilePath) {
        String[] res = imgFilePath.split("\\.");
        String pos = res[res.length - 1];
        if (!".jpg|.png|.gif|.jpeg|.bmp".contains(pos)) {
            return "圖片格式不正確";
        }
        byte[] data = null;
        // 讀取圖片字節數組
        try {
            InputStream in = new FileInputStream(imgFilePath);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 返回Base64編碼過的字節數組字符串,需要添加base64編碼默認前綴,否則編碼轉圖片時無法識別
        //"data:image/"+pos+";base64,"+
        String date = Base64Utils.encodeToString(data);
        return date;
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM