激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java - Java Base64解碼錯誤及解決方法

Java Base64解碼錯誤及解決方法

2021-04-05 13:40Java教程網 Java

本篇文章給大家從一個Java Base64解碼錯誤著手給大家分析了錯誤的原因以及解決辦法,有興趣的可以參考學習下。

問題提出:

自己在做一個小網站充當練手,但是前端圖片經過base64加密后傳往后端在解碼。但是一直都有問題,請大神賜教

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static String base64ToImg(String src) throws IOException {
  String uuid = UUID.randomUUID().toString();
  StringBuilder newPath = new StringBuilder(IMG_ROOT_PATH);
  newPath.append(separator).
      append(uuid).
      append(IMG_SUFFIX);
  if(src == null){
    return null;
  }
  byte[] data = null;
  Base64.Decoder decoder = Base64.getDecoder();
  try (OutputStream out = new FileOutputStream(newPath.toString())) {
    data = decoder.decode(src);
    out.write(data);
    return newPath.toString();
  } catch (IOException e) {
    throw new IOException();
  }
}
?
1
java.lang.IllegalArgumentException: Input byte array has wrong 4-byte ending unit

以上是相關的異常信息。我試圖將前端的base64碼粘貼到記事本然后自己在試著解碼,也是同樣問題。

解決辦法:

IllegalArgumentException:非法參數異常,

試下這個,應該可以。

給你講述下過程:

去了stackoverflow,debug。最后發現data為null,,加油吧,我們需要學的還很多

下次遇到問題debug下,看是哪條代碼出現問題了,通過回答你,我也學到了很多

關鍵點在這里: throw new IOException();

Java Base64解碼錯誤及解決方法

?
1
2
3
4
5
6
7
try (OutputStream out = new FileOutputStream(newPath.toString())) {
      out.write(data);
    } catch (IOException e) {
      e.printStackTrace();
      throw new RuntimeException("異常是這么拋出的");
      //throw new RuntimeException(e);
    }
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static String base64ToImg(String src) throws IOException {
    String uuid = UUID.randomUUID().toString();
    StringBuilder newPath = new StringBuilder("xx");
    newPath.append("xx").
        append(uuid).
        append("xx");
    if (src == null) {
      return null;
    }
    byte[] data = Base64.getDecoder().decode(src);
    try (OutputStream out = new FileOutputStream(newPath.toString())) {
      out.write(data);
    } catch (IOException e) {
      e.printStackTrace();
    }
    return newPath.toString();
  }

補充另外一種常用關閉資源:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static String base64ToImg(String src) throws IOException {
   String uuid = UUID.randomUUID().toString();
   StringBuilder newPath = new StringBuilder("xx");
   newPath.append("xx").
       append(uuid).
       append("xx");
   if (src == null) {
     return null;
   }
   byte[] data = null;
   OutputStream out = null;
   Base64.Decoder decoder = Base64.getDecoder();
   try {
     out = new FileOutputStream(newPath.toString());
     data = decoder.decode(src);
     out.write(data);
   } catch (IOException e) {
     e.printStackTrace();
   } finally {
     if (out != null) {
       out.close();
     }
   }
   return newPath.toString();
 }

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人午夜免费福利 | 国产三级精品最新在线 | 羞羞视频入口 | 日本在线高清 | 欧美一级特级 | 一本一道久久久a久久久精品91 | 精品一区二区视频在线观看 | 欧美亚洲国产一区二区三区 | www.91成人| 最近免费观看高清韩国日本大全 | 毛片成人 | 黄色网址你懂的 | 成人精品aaaa网站 | 亚洲一区二区三区日本久久九 | 国产小视频一区 | 原来神马影院手机版免费 | 91麻豆蜜桃一区二区三区 | 国产一国产一级毛片视频在线 | 久久天 | 调教小男生抽打尿孔嗯啊视频 | 成人精品视频网站 | 黄污网址| 国产一极毛片 | 久久久av影视 | 欧美成人高清视频 | 国产精品视频一区二区三区四区国 | 俄罗斯16一20sex牲色另类 | 成人综合在线观看 | 91精品国产99久久久久久 | 免费国产成人高清在线看软件 | 欧美成人国产va精品日本一级 | 极品美女一级毛片 | 亚洲欧美不卡视频 | 激情小说激情图片激情电影 | 久久网综合 | 色午夜日本 | 毛片免费在线观看视频 | 二区三区四区视频 | 欧美一区二区三区免费不卡 | 久久久人成影片一区二区三区 | 国产亚洲精品久久久久久久久 |