base64轉換為圖片以及圖片轉換為base64碼


public class base64Change {
    /**
     * @param imgStr base64編碼字符串
     * @param path   圖片路徑-具體到文件
     */
    public static boolean generateImage(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;
                }
            }
            OutputStream out = new FileOutputStream(path);
            out.write(b);
            out.flush();
            out.close();
            return true;
        } catch (Exception e) {
            return false;
        }
    //圖片轉化成base64字符串  
    public static String GetImageStr()  
    {//將圖片文件轉化為字節數組字符串,並對其進行Base64編碼處理  
        String imgFile = "F:\\tupian\\a.jpg";//待處理的圖片
                         // 地址也有寫成"F:/deskBG/86619-107.jpg"形式的
        InputStream in = null;  
        byte[] data = null;  
        //讀取圖片字節數組  
        try   
        {  
            in = new FileInputStream(imgFile);          
            data = new byte[in.available()];  
            in.read(data);  
            in.close();  
        }   
        catch (IOException e)   
        {  
            e.printStackTrace();  
        }  
        //對字節數組Base64編碼  
        BASE64Encoder encoder = new BASE64Encoder();  
        return encoder.encode(data);//返回Base64編碼過的字節數組字符串  
    }

}
public String ChangeBase64(String base64data,Integer certifiedtype,Integer userid,HttpServletRequest request) {
    //這一步很重要很重要很重要,因為base64的數據會有data:base64img,
    //所有需要將這個截取掉之后轉化,不然就是空白的打不開的文件
    String base64img = certifieddata.substring(base64data.indexOf(",")+1);

    FileUploadUtils.generateImage(base64img,"F:/deskBG/86619-107.jpg");
    //return null;是為了測試的,實際需求自己定
    return null;
  }

 


免責聲明!

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



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