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

Java實現(xiàn)圖片轉base64完整代碼示例

 更新時間:2023年12月26日 16:12:18   作者:巧克力多拿滋  
這篇文章主要給大家介紹了關于Java實現(xiàn)圖片轉base64的相關資料,Base64是網(wǎng)絡上最常見的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個可打印字符來表示二進制數(shù)據(jù)的方法,需要的朋友可以參考下

一. 自己實現(xiàn)byte數(shù)組拷貝

public class Base64Util {

	// base64圖片 存儲的byte數(shù)組
    private byte[] baseByte= new byte[0];
    
    public static void main(String[] args) {
        Base64Util base64Util = new Base64Util();
        base64Util.base64Encoding();
    }

    private   void base64Encoding(){
        try {
            // 從本地resource目錄下獲取圖片
            ClassPathResource classPathResource = new ClassPathResource("/images/e88b27550495d06a041a7854fcd07b8c.jpg");
            // base64圖片前綴
            String pre = "data:image/jpg;base64,";
            // 讀取圖片
            FileInputStream fileInputStream = new FileInputStream(classPathResource.getFile());
            // 讀取字節(jié)長度
            int len = 0;
            // baseByte數(shù)組的容量
            int capacity = 0;
            byte [] bytes = new byte[1024];
            while ((len = fileInputStream.read(bytes)) != -1){
            	// 對原數(shù)組進行拷貝擴容
                baseByte= Arrays.copyOf(baseByte, len + capacity);
                // 將新數(shù)據(jù)拷貝到新擴容的數(shù)組
                System.arraycopy(bytes, 0, baseByte, capacity, len);
                // 數(shù)據(jù)容量增加
                capacity += len;
            }
            // 獲取base64編碼器
            Base64.Encoder encoder = Base64.getEncoder();
            // 將字節(jié)數(shù)組轉換base64
            String encodeToString = encoder.encodeToString(baseByte);
            System.out.println("======>>>>>>:" + pre + encodeToString);
            fileInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

二. 使用ByteArrayOutputStream

public class Base64Util {
    
    public static void main(String[] args) {
        Base64Util base64Util = new Base64Util();
        base64Util.base64Encoding();
    }

    private   void base64Encoding(){
        try {
            // 從本地resource目錄下獲取圖片
            ClassPathResource classPathResource = new ClassPathResource("/images/e88b27550495d06a041a7854fcd07b8c.jpg");
            // base64圖片前綴
            String pre = "data:image/jpg;base64,";
            // 讀取圖片
            FileInputStream fileInputStream = new FileInputStream(classPathResource.getFile());
            // 讀取字節(jié)長度
            int len = 0;
            byte [] bytes = new byte[1024];
            while ((len = fileInputStream.read(bytes)) != -1){
            	// 存儲讀取的字節(jié)數(shù)組
				data.write(bytes, 0, len);
            }
            // 獲取字節(jié)數(shù)組
            byte[] baseByte = data.toByteArray();
            // 獲取base64編碼器
            Base64.Encoder encoder = Base64.getEncoder();
            // 將字節(jié)數(shù)組轉換base64
            String encodeToString = encoder.encodeToString(baseByte);
            System.out.println("======>>>>>>:" + pre + encodeToString);
            fileInputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

總結 

到此這篇關于Java實現(xiàn)圖片轉base64的文章就介紹到這了,更多相關Java圖片轉base64內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java求解集合的子集的實例

    java求解集合的子集的實例

    這篇文章主要介紹了 java求解集合的子集的實例的相關資料,希望通過本文能幫助到大家,讓大家掌握這樣的方法,需要的朋友可以參考下
    2017-10-10
  • Eclipse中@SpringBootTest注解報紅的解決方案

    Eclipse中@SpringBootTest注解報紅的解決方案

    這篇文章主要介紹了Eclipse中@SpringBootTest注解報紅的解決方案,文中給出了原因分析和解決方案,并通過圖文結合的方式介紹的非常詳細,需要的朋友可以參考下
    2024-03-03
  • Spring Boot配置元數(shù)據(jù)方法教程

    Spring Boot配置元數(shù)據(jù)方法教程

    這篇文章主要介紹了Spring Boot配置元數(shù)據(jù)方法教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • Java中Class.forName()在代碼上無法執(zhí)行報錯NotFound的解決過程

    Java中Class.forName()在代碼上無法執(zhí)行報錯NotFound的解決過程

    這段文章主要討論了ClassNotFoundException的錯誤原因,指出問題源于文件夾命名錯誤,應命名為WEB-INF而非WEB-INFO,并強調了正確配置的重要性
    2026-06-06
  • MybatisX-Generator不生成domain文件夾的問題及解決

    MybatisX-Generator不生成domain文件夾的問題及解決

    在使用MybatisX-Generator生成數(shù)據(jù)庫表實體時,如果發(fā)現(xiàn)沒有生成domain文件夾以及User.java文件,是因為MybatisX版本更新,最新版需要在options里額外勾選model才能生成domain,勾選model并點擊finish后,成功生成domain文件夾及User.java文件
    2025-01-01
  • JPA?通過Specification如何實現(xiàn)復雜查詢

    JPA?通過Specification如何實現(xiàn)復雜查詢

    這篇文章主要介紹了JPA?通過Specification如何實現(xiàn)復雜查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • javaweb實現(xiàn)文件上傳示例代碼

    javaweb實現(xiàn)文件上傳示例代碼

    這篇文章主要為大家詳細介紹了javaweb實現(xiàn)文件上傳的示例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • elasticsearch集群查詢超10000的解決方案

    elasticsearch集群查詢超10000的解決方案

    ES為了避免用戶的過大分頁請求造成ES服務所在機器內存溢出,默認對深度分頁的條數(shù)進行了限制,默認的最大條數(shù)是10000條,這篇文章主要給大家介紹了關于elasticsearch集群查詢超10000的解決方案,需要的朋友可以參考下
    2024-08-08
  • 詳解Spring Retry實現(xiàn)原理

    詳解Spring Retry實現(xiàn)原理

    這篇文章主要介紹了詳解Spring Retry實現(xiàn)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 在Java8中使用StreamAPI的實際應用

    在Java8中使用StreamAPI的實際應用

    本文深入探討StreamAPI的核心概念、使用場景以及實際應用,幫助你在日常開發(fā)中更好地利用這一強大特性,感興趣的朋友跟隨小編一起看看吧
    2025-09-09

最新評論

分宜县| 七台河市| 宣城市| 长乐市| 嘉禾县| 河北省| 思南县| 汝州市| 历史| 荆门市| 江华| 无棣县| 开鲁县| 措勤县| 酒泉市| 穆棱市| 宜君县| 翁牛特旗| 宜章县| 六枝特区| 嘉定区| 霞浦县| 工布江达县| 张家界市| 厦门市| 枞阳县| 邹平县| 会同县| 山东| 宁德市| 昭觉县| 肇东市| 绥滨县| 巴彦淖尔市| 缙云县| 新建县| 翁牛特旗| 伊春市| 隆化县| 滁州市| 东光县|