欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java實(shí)現(xiàn)后臺(tái)處理base64圖片還原為文件

 更新時(shí)間:2022年02月09日 11:26:13   作者:qq_36275012  
這篇文章主要介紹了java實(shí)現(xiàn)后臺(tái)處理base64圖片還原為文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

后臺(tái)處理base64圖片還原為文件

/**
 * 將base64圖片解析成文件存放本地
 * @param imgStr
 * @return  本地臨時(shí)文件的地址
 */
private static String  generateImage(String imgStr){
    if(Strings.isNullOrEmpty(imgStr)){
        return null;
    }
    BASE64Decoder decoder = new BASE64Decoder();
    //轉(zhuǎn)換前端數(shù)據(jù)
    imgStr = imgStr.replaceAll(" ", "+");
    //去除多余部分
    imgStr=imgStr.replace("data:image/png;base64,", "");
    try {
        // Base64解碼
        byte[] b = decoder.decodeBuffer(imgStr);
        for (int i = 0; i < b.length; i++) {
            if (b[i] < 0) {// 調(diào)整異常數(shù)據(jù)
                b[i] += 256;
            }
        }
        String filepath =System.getProperty("java.io.tmpdir") +"測(cè)試"+System.currentTimeMillis()+".png";
        File file  = new File(filepath);
        if(file.exists()){
            file.delete();
        }
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(b);
        fos.flush();
        fos.close();
        logger.info("路徑"+filepath);
        return filepath;
    }catch(Exception e){
        return null;
    }
}
//imgStr=imgStr.replace(“data:image/png;base64,”, “”); 關(guān)鍵地方 根據(jù)圖片類型 過濾對(duì)應(yīng)的類型

java Base64解析

最近在業(yè)務(wù)場(chǎng)景中,需要對(duì)第三方傳遞進(jìn)來的字符進(jìn)行base64解密,根據(jù)第三方文檔提供的解析工具,對(duì)數(shù)據(jù)進(jìn)行了解析

關(guān)于Base64的解析方式如下

?String sign = "xxxxxxxxxxxxxxxxxxxxxxxx";
?sun.misc.BASE64Decoder decode = new sun.misc.BASE64Decoder();
?String json = new String(decode.decodeBuffer(sign));

使用sun.misc.BASE64Decoder對(duì)數(shù)據(jù)解析,放測(cè)試環(huán)境測(cè)試發(fā)現(xiàn)解析出來的字符串正確無誤,

但是在上線之后,根據(jù)第三方傳遞的sign,解析出來之后發(fā)現(xiàn)字符串最后多了一個(gè)字符 “7”,查詢邏輯 沒有發(fā)現(xiàn)問題,最后猜測(cè)是sun.misc.BASE64Decoder出了問題,于是換了Base64的解析jira

使用如下代碼解析

String sign = "xxxxxxxxxxxxxxxxxxxxxxxxx";
Base64 base64 = new Base64();
String json = new String (base64.decodeBase64(sign.getBytes()));

發(fā)現(xiàn)返回json中數(shù)據(jù)正常,問題解決。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java IO流對(duì)文件File操作

    Java IO流對(duì)文件File操作

    這篇文章主要介紹了Java IO流對(duì)文件File操作,java封裝的一個(gè)操作文件及文件夾(目錄)的對(duì)象。可以操作磁盤上的任何一個(gè)文件和文件夾
    2022-12-12
  • Java數(shù)據(jù)結(jié)構(gòu)之順序表和鏈表精解

    Java數(shù)據(jù)結(jié)構(gòu)之順序表和鏈表精解

    我在學(xué)習(xí)完順序表后一直對(duì)順序表和鏈表的概念存在一些疑問,這里給出一些分析和看法,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Java concurrency線程池之線程池原理(一)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency線程池之線程池原理(一)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java中的@Repeatable注解使用詳解

    Java中的@Repeatable注解使用詳解

    這篇文章主要介紹了Java中的@Repeatable注解使用詳解,@Repeatable注解是java8為了解決同一個(gè)注解不能重復(fù)在同一類/方法/屬性上使用的問題,本文提供了解決思路和部分實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2024-02-02
  • Effective Java 在工作中的應(yīng)用總結(jié)

    Effective Java 在工作中的應(yīng)用總結(jié)

    《Effective Java》是一本經(jīng)典的 Java 學(xué)習(xí)寶典,值得每位 Java 開發(fā)者閱讀。下面文章即是將書中和平日工作較密切的知識(shí)點(diǎn)做了部分總結(jié),需要的朋友可以參考下
    2021-09-09
  • java內(nèi)部測(cè)試類代碼詳解

    java內(nèi)部測(cè)試類代碼詳解

    這篇文章主要介紹了java內(nèi)部測(cè)試類代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • 有關(guān)ServletConfig與ServletContext的訪問

    有關(guān)ServletConfig與ServletContext的訪問

    下面小編就為大家?guī)硪黄嘘P(guān)ServletConfig與ServletContext的訪問。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • springmvc json類型轉(zhuǎn)換錯(cuò)誤解決方案

    springmvc json類型轉(zhuǎn)換錯(cuò)誤解決方案

    這篇文章主要介紹了springmvc json類型轉(zhuǎn)換錯(cuò)誤解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring?Batch實(shí)現(xiàn)批量處理

    Spring?Batch實(shí)現(xiàn)批量處理

    本文主要介紹了Spring?Batch進(jìn)行批量處理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringBoot中的Mybatis依賴問題

    SpringBoot中的Mybatis依賴問題

    這篇文章主要介紹了SpringBoot中的Mybatis依賴問題,包括pom導(dǎo)入依賴和相關(guān)實(shí)例代碼講解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論