最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Base64解碼錯誤及解決方法

 更新時間:2018年02月17日 14:26:48   投稿:laozhang  
本篇文章給大家從一個Java Base64解碼錯誤著手給大家分析了錯誤的原因以及解決辦法,有興趣的可以參考學(xué)習(xí)下。

問題提出:

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

  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();
    }
  }
java.lang.IllegalArgumentException: Input byte array has wrong 4-byte ending unit

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

解決辦法:

IllegalArgumentException:非法參數(shù)異常,

試下這個,應(yīng)該可以。

給你講述下過程:

去了stackoverflow,debug。最后發(fā)現(xiàn)data為null,,加油吧,我們需要學(xué)的還很多

下次遇到問題debug下,看是哪條代碼出現(xiàn)問題了,通過回答你,我也學(xué)到了很多

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

try (OutputStream out = new FileOutputStream(newPath.toString())) {
      out.write(data);
    } catch (IOException e) {
      e.printStackTrace();
      throw new RuntimeException("異常是這么拋出的");
      //throw new RuntimeException(e);
    }
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();
  }

補充另外一種常用關(guān)閉資源:

 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();
  }

相關(guān)文章

  • Java的JSON轉(zhuǎn)換類庫GSON的基礎(chǔ)使用教程

    Java的JSON轉(zhuǎn)換類庫GSON的基礎(chǔ)使用教程

    GSON是谷歌開源的一款Java對象與JSON對象互相轉(zhuǎn)換的類庫,Java的JSON轉(zhuǎn)換類庫GSON的基礎(chǔ)使用教程,需要的朋友可以參考下
    2016-06-06
  • 淺談Java中的Filter過濾器

    淺談Java中的Filter過濾器

    本篇文章主要介紹了淺談Java中的Filter過濾器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • java數(shù)組中的異常類型整理

    java數(shù)組中的異常類型整理

    在本篇文章里小編給各位分享的是一篇關(guān)于java數(shù)組中的異常類型整理內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • Jmeter如何將每次測試的結(jié)果保存到文件中

    Jmeter如何將每次測試的結(jié)果保存到文件中

    這篇文章主要介紹了Jmeter如何將每次測試的結(jié)果保存到文件中的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java?Socket實現(xiàn)聊天室功能

    Java?Socket實現(xiàn)聊天室功能

    這篇文章主要為大家詳細介紹了Java?Socket實現(xiàn)聊天室功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • 解析Java虛擬機中類的初始化及加載器的父委托機制

    解析Java虛擬機中類的初始化及加載器的父委托機制

    這篇文章主要介紹了Java虛擬機中類的初始化及加載器的父委托機制,包括命名空間等深層次的知識點講解,需要的朋友可以參考下
    2015-11-11
  • MapStruct內(nèi)部錯誤:NullPointerException的解決方案

    MapStruct內(nèi)部錯誤:NullPointerException的解決方案

    在Java開發(fā)中,MapStruct是一個非常流行的對象映射工具,它通過注解處理器在編譯時生成映射代碼,極大地簡化了對象之間的轉(zhuǎn)換操作,本文將詳細分析一個常見的MapStruct內(nèi)部錯誤——NullPointerException,并提供一系列解決方案,需要的朋友可以參考下
    2025-02-02
  • 在Java中操作Zookeeper的示例代碼詳解

    在Java中操作Zookeeper的示例代碼詳解

    這篇文章主要介紹了在Java中操作Zookeeper的示例代碼詳解,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解

    這篇文章主要為大家介紹了JUC循環(huán)屏障CyclicBarrier與CountDownLatch區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 獲取Spring當前配置的兩種方式

    獲取Spring當前配置的兩種方式

    這篇文章主要給大家介紹了獲取Spring當前配置的,兩種方式文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01

最新評論

苍南县| 嘉祥县| 襄汾县| 商洛市| 综艺| 蒲城县| 昭苏县| 英超| 乡宁县| 抚州市| 海晏县| 泾源县| 阳谷县| 黑山县| 区。| 无棣县| 谷城县| 司法| 莱西市| 陆川县| 手游| 花莲市| 余江县| 清水县| 翼城县| 榆林市| 金秀| 安徽省| 上栗县| 镇江市| 瑞安市| 林西县| 梅州市| 肇庆市| 峡江县| 两当县| 都江堰市| 蒙山县| 黄冈市| 东阳市| 红原县|