[工具類-ImageUtils]Base64位字符串與圖片的轉(zhuǎn)換

圖片處理工具類


圖片來自網(wǎng)絡(luò)
package com.zefun.common.utils;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Base64;

import org.apache.commons.lang.StringUtils;

/**
 * @Description <圖片相關(guān)工具類>
 * @author liwang
 * @date 2017年11月14日
 * @version
 */
public class ImgUtil {

    /**
     * 將base64位字符串轉(zhuǎn)換成圖片
    * @author liwang
    * @date 2017年11月14日
    * @param baseStr        base64圖片字符串
    * @param imgFilePath    要保存到圖片地址
    * @return boolean
     */
    public static boolean baseStrToImg(String baseStr, String imgFilePath) {
        if (StringUtils.isBlank(baseStr)) {// 圖像數(shù)據(jù)為空
            return false;
        }
        try {
            // Base64解碼
            byte[] bytes = Base64.getDecoder().decode(baseStr);
            for (int i = 0; i < bytes.length; ++i) {
                if (bytes[i] < 0) {// 調(diào)整異常數(shù)據(jù)
                    bytes[i] += 256;
                }
            }
            // 生成jpeg圖片
            OutputStream out = new FileOutputStream(imgFilePath);
            out.write(bytes);
            out.flush();
            out.close();
            return true;
        }
        catch (Exception e) {
            return false;
        }
    }

    /**
     * 將圖片轉(zhuǎn)換成base64位字符串
    * @author liwang
    * @date 2017年11月14日
    * @param imgFilePath 圖片路徑
    * @return String
     */
    public static String imgToBaseStr(String imgFilePath) {
        InputStream in = null;
        byte[] data = null;
        // 讀取圖片字節(jié)數(shù)組
        try {
            in = new FileInputStream(imgFilePath);
            data = new byte[in.available()];
            in.read(data);
            in.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }
        // 對字節(jié)數(shù)組Base64編碼
        return Base64.getEncoder().encodeToString(data); // 返回Base64編碼過的字節(jié)數(shù)組字符串
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容