一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Java對(duì)網(wǎng)絡(luò)圖片/本地圖片轉(zhuǎn)換成Base64編碼和解碼

 歲月流逝啊 2021-03-02

一、將本地圖片轉(zhuǎn)換成Base64編碼字符串

復(fù)制代碼
/** * 將本地圖片轉(zhuǎn)換成Base64編碼字符串 * * @param imgFile 圖片目錄路徑 * @return */ public static String getImgFileToBase64(String imgFile) { //將圖片文件轉(zhuǎn)化為字節(jié)數(shù)組字符串,并對(duì)其進(jìn)行Base64編碼處理 InputStream inputStream = null; byte[] buffer = null; //讀取圖片字節(jié)數(shù)組 try { inputStream = new FileInputStream(imgFile); int count = 0; while (count == 0) { count = inputStream.available(); } buffer = new byte[count]; inputStream.read(buffer); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { // 關(guān)閉inputStream流 inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } // 對(duì)字節(jié)數(shù)組Base64編碼 return new BASE64Encoder().encode(buffer); }
復(fù)制代碼

二、將網(wǎng)絡(luò)圖片轉(zhuǎn)換成Base64編碼字符串

復(fù)制代碼
/**     * 將網(wǎng)絡(luò)圖片轉(zhuǎn)換成Base64編碼字符串     *     * @param imgUrl 網(wǎng)絡(luò)圖片Url     * @return     */    public static String getImgUrlToBase64(String imgUrl) {        InputStream inputStream = null;        ByteArrayOutputStream outputStream = null;        byte[] buffer = null;        try {            // 創(chuàng)建URL            URL url = new URL(imgUrl);            // 創(chuàng)建鏈接            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            conn.setRequestMethod('GET');            conn.setConnectTimeout(5000);            inputStream = conn.getInputStream();            outputStream = new ByteArrayOutputStream();            // 將內(nèi)容讀取內(nèi)存中            buffer = new byte[1024];            int len = -1;            while ((len = inputStream.read(buffer)) != -1) {                outputStream.write(buffer, 0, len);            }            buffer = outputStream.toByteArray();        } catch (IOException e) {            e.printStackTrace();        } finally {            if (inputStream != null) {                try {                    // 關(guān)閉inputStream流                    inputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }            if (outputStream != null) {                try {                    // 關(guān)閉outputStream流                    outputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        // 對(duì)字節(jié)數(shù)組Base64編碼        return new BASE64Encoder().encode(buffer);    }
復(fù)制代碼

三、將網(wǎng)絡(luò)鏈接圖片或者本地圖片文件轉(zhuǎn)換成Base64編碼字符串(就是對(duì)上面的兩種進(jìn)行整合)

復(fù)制代碼
/** * 將網(wǎng)絡(luò)鏈接圖片或者本地圖片文件轉(zhuǎn)換成Base64編碼字符串 * * @param imgStr 網(wǎng)絡(luò)圖片Url/本地圖片目錄路徑 * @return */ public static String getImgStrToBase64(String imgStr) { InputStream inputStream = null; ByteArrayOutputStream outputStream = null; byte[] buffer = null; try { //判斷網(wǎng)絡(luò)鏈接圖片文件/本地目錄圖片文件 if (imgStr.startsWith('http://') || imgStr.startsWith('https://')) { // 創(chuàng)建URL URL url = new URL(imgStr); // 創(chuàng)建鏈接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod('GET'); conn.setConnectTimeout(5000); inputStream = conn.getInputStream(); outputStream = new ByteArrayOutputStream(); // 將內(nèi)容讀取內(nèi)存中 buffer = new byte[1024]; int len = -1; while ((len = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } buffer = outputStream.toByteArray(); } else { inputStream = new FileInputStream(imgStr); int count = 0; while (count == 0) { count = inputStream.available(); } buffer = new byte[count]; inputStream.read(buffer); } } catch (Exception e) { e.printStackTrace(); } finally { if (inputStream != null) { try { // 關(guān)閉inputStream流 inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (outputStream != null) { try { // 關(guān)閉outputStream流 outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } // 對(duì)字節(jié)數(shù)組Base64編碼 return new BASE64Encoder().encode(buffer); }
復(fù)制代碼

、將圖片Base64編碼轉(zhuǎn)換成img圖片文件(解碼)

復(fù)制代碼
/**     * 將圖片Base64編碼轉(zhuǎn)換成img圖片文件     *     * @param imgBase64 圖片Base64編碼     * @param imgPath   圖片生成路徑     * @return     */    public static boolean getImgBase64ToImgFile(String imgBase64, String imgPath) {        boolean flag = true;        OutputStream outputStream = null;        try {            // 解密處理數(shù)據(jù)            byte[] bytes = new BASE64Decoder().decodeBuffer(imgBase64);            for (int i = 0; i < bytes.length; ++i) {                if (bytes[i] < 0) {                    bytes[i] += 256;                }            }            outputStream = new FileOutputStream(imgPath);            outputStream.write(bytes);        } catch (Exception e) {            e.printStackTrace();            flag = false;        } finally {            if (outputStream != null) {                try {                    // 關(guān)閉outputStream流                    outputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }        return flag;    }
復(fù)制代碼

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    午夜免费精品视频在线看| 久热这里只有精品九九| 久久99青青精品免费观看| 国产内射一级一片内射高清| 欧美一区日韩二区亚洲三区| 亚洲第一区欧美日韩在线| 欧美一级日韩中文字幕| 亚洲av成人一区二区三区在线| 国产乱人伦精品一区二区三区四区| 日本福利写真在线观看| 日韩aa一区二区三区| 中文字幕中文字幕在线十八区| 青青免费操手机在线视频| 国产精品视频一区二区秋霞| 亚洲清纯一区二区三区| 亚洲高清中文字幕一区二区三区| 亚洲av专区在线观看| 欧美熟妇一区二区在线| 日韩无套内射免费精品| 九九热视频网在线观看| 久久精品国产亚洲av麻豆尤物| 婷婷色网视频在线播放| 亚洲最新中文字幕一区| 亚洲国产91精品视频| 亚洲av在线视频一区| 亚洲免费视频中文字幕在线观看 | 精品熟女少妇一区二区三区| 亚洲一区在线观看蜜桃| 久久经典一区二区三区| 国产日韩中文视频一区| 中文字幕高清免费日韩视频| 99热九九热这里只有精品| 亚洲熟妇av一区二区三区色堂 | 国产自拍欧美日韩在线观看| 五月天综合网五月天综合网| 日韩精品中文字幕在线视频| 亚洲av在线视频一区| 精品综合欧美一区二区三区| 成人日韩视频中文字幕| 九九热精品视频免费观看| 青青操视频在线观看国产|