base64位 解码图片

 jar包是commons-codec.jar。

  pnuts

//base64解码成图片
function gldBase64ToImage(imgStr,imgFilePath) { 
// 对字节数组字符串进行Base64解码并生成图片
    if ("".equals(imgStr) || imgStr == null) // 图像数据为空
        return false
        
  //转码的时候它可能有前缀格式,所以需要拆分,取有效字符串 imgArr
= imgStr.split(",") if(imgArr.length == 1){ imgStr = imgArr[0] }else{ imgStr = imgArr[1] } imgByte = class org.apache.commons.codec.binary.Base64::decodeBase64(imgStr) // Base64解码 for (i = 0; i < imgByte.length; ++i) { if (imgByte[i] < 0) {// 调整异常数据 imgByte[i] += 256; } } out = class java.io.FileOutputStream(imgFilePath) out.write(imgByte) out.flush() out.close() }

  java

 /**
      * 对字节数组字符串进行Base64解码并生成图片
      * @param imgStr 图片数据
      * @param imgFilePath 保存图片全路径地址
      * @return
      */
     public static boolean generateImage(String imgStr,String imgFilePath){
         //
         if ( "".equals(imgStr) || imgStr == null) //图像数据为空
             return false;
        
         try 
         {
             //Base64解码
             byte[] b = Base64.decodeBase64(imgStr);
             for(int i=0;i<b.length;++i)
             {
                 if(b[i]<0)
                 {//调整异常数据
                     b[i]+=256;
                 }
             }
             //生成jpeg图片
 
             OutputStream out = new FileOutputStream(imgFilePath);    
             out.write(b);
             out.flush();
             out.close();
             return true;
         } 
         catch (Exception e) 
         {
             return false;
         }
     }
 }

 

posted @ 2018-10-10 09:56  忍着不哭泣  阅读(4106)  评论(0编辑  收藏  举报