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

Java處理圖片實現(xiàn)base64編碼轉(zhuǎn)換

 更新時間:2020年02月25日 13:09:46   作者:---WeiGeH  
這篇文章主要介紹了Java處理圖片實現(xiàn)base64編碼轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

前言

環(huán)境:使用這個代碼前:請確保你的JDk是JAVA8及其以上

開發(fā)測試地址:http://imgbase64.duoshitong.com/ 可以查看是否執(zhí)行成功

注意事項

一般插件返回的base64編碼的字符串都是有一個前綴的。"data:image/jpeg;base64," 解碼之前這個得去掉。

Code

MainTest

/**
   * 示例
   * @throws UnsupportedEncodingException 
   * @throws FileNotFoundException 
   */
  @SuppressWarnings("resource")
  public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
    String strImg = getImageStr("Z:\\水印\\2.bmp");
    System.out.println(strImg);
    File file = new File("z://1.txt");
    FileOutputStream fos = new FileOutputStream(file);
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
    try {
      osw.write(strImg);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
    //generateImage(strImg, "Z:\\水印\\444.bmp");
    
  }

加密:

**
   * @Description: 根據(jù)圖片地址轉(zhuǎn)換為base64編碼字符串
   * @Author:
   * @CreateTime:
   * @return
   */
  public static String getImageStr(String imgFile) {
    InputStream inputStream = null;
    byte[] data = null;
    try {
      inputStream = new FileInputStream(imgFile);
      data = new byte[inputStream.available()];
      inputStream.read(data);
      inputStream.close();
    } catch (IOException e) {
      e.printStackTrace();
    }
    // 加密
    Encoder encoder = Base64.getEncoder();
    return encoder.encodeToString(data);
  }

解密:

/**
   * @Description: 將base64編碼字符串轉(zhuǎn)換為圖片
   * @Author: 
   * @CreateTime: 
   * @param imgStr base64編碼字符串
   * @param path 圖片路徑-具體到文件
   * @return
  */
  public static boolean generateImage(String imgStr, String path) {
      if (imgStr == null)
        return false;
      // 解密
      try {
        Decoder decoder = Base64.getDecoder();
        byte[] b = decoder.decode(imgStr);
        // 處理數(shù)據(jù)
        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 (IOException e) {
        return false;
      }
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • java使用stream判斷兩個list元素的屬性并輸出方式

    java使用stream判斷兩個list元素的屬性并輸出方式

    這篇文章主要介紹了java使用stream判斷兩個list元素的屬性并輸出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java對象數(shù)組的添加、刪除和遍歷代碼示例

    Java對象數(shù)組的添加、刪除和遍歷代碼示例

    在Java編程中,我們經(jīng)常需要對數(shù)據(jù)結(jié)構(gòu)進(jìn)行遍歷操作,并根據(jù)業(yè)務(wù)需求刪除部分元素,這篇文章主要給大家介紹了關(guān)于Java對象數(shù)組的添加、刪除和遍歷的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • Java編譯錯誤問題:需要class,interface或enum

    Java編譯錯誤問題:需要class,interface或enum

    這篇文章主要介紹了Java編譯錯誤問題:需要class,interface或enum,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Java?多個文件生成zip包、下載zip包的實現(xiàn)代碼

    Java?多個文件生成zip包、下載zip包的實現(xiàn)代碼

    這篇文章主要介紹了Java?多個文件生成zip包、下載zip包,包括文件上傳,文件下載,多個文件打成zip包的操作代碼,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • Java使用aspose實現(xiàn)pdf轉(zhuǎn)word

    Java使用aspose實現(xiàn)pdf轉(zhuǎn)word

    Aspose是一套強(qiáng)大的文檔處理工具,被超過80%的財富100強(qiáng)公司信賴,用于在應(yīng)用程序中創(chuàng)建、編輯、導(dǎo)出和轉(zhuǎn)換100多種文件格式,本文將給大家介紹Java使用aspose實現(xiàn)pdf轉(zhuǎn)word的操作方法,需要的朋友可以參考下
    2025-02-02
  • SpringBoot中的響應(yīng)式web應(yīng)用詳解

    SpringBoot中的響應(yīng)式web應(yīng)用詳解

    這篇文章主要介紹了SpringBoot中的響應(yīng)式web應(yīng)用詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • Java中使用MyBatis-Plus操作數(shù)據(jù)庫的實例

    Java中使用MyBatis-Plus操作數(shù)據(jù)庫的實例

    本文主要介紹了Java中使用MyBatis-Plus操作數(shù)據(jù)庫的實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • SpringBoot中的ApplicationRunner與CommandLineRunner問題

    SpringBoot中的ApplicationRunner與CommandLineRunner問題

    這篇文章主要介紹了SpringBoot中的ApplicationRunner與CommandLineRunner問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Java中Map.entry的具體使用

    Java中Map.entry的具體使用

    Map.Entry?是Map中的一個接口,Map.Entry里有相應(yīng)的getKey和getValue方法,讓我們能夠從一個項中取出Key和Value,本文就詳細(xì)的介紹一下Map.entry的具體使用,感興趣的可以了解一下
    2023-05-05
  • 淺析對Java關(guān)鍵字final和static的理解

    淺析對Java關(guān)鍵字final和static的理解

    本文主要給大家談?wù)勑【帉ava關(guān)鍵字final和static的理解,本文給大家介紹的較詳細(xì),需要的朋友參考參考下
    2017-04-04

最新評論

凌源市| 宣武区| 万源市| 梁河县| 舟山市| 汨罗市| 定襄县| 得荣县| 滁州市| 孝义市| 南通市| 鲁山县| 昌平区| 柘荣县| 凤山县| 十堰市| 玛纳斯县| 汶川县| 沅江市| 台南市| 杭锦后旗| 安徽省| 辉县市| 盐边县| 昭苏县| 清水县| 陆河县| 白山市| 从江县| 永寿县| 龙川县| 锦州市| 当雄县| 陈巴尔虎旗| 修文县| 衢州市| 资中县| 塔河县| 南阳市| 井研县| 新平|