Java實現(xiàn)圖片轉(zhuǎn)base64完整代碼示例
更新時間:2023年12月26日 16:12:18 作者:巧克力多拿滋
這篇文章主要給大家介紹了關(guān)于Java實現(xiàn)圖片轉(zhuǎn)base64的相關(guān)資料,Base64是網(wǎng)絡(luò)上最常見的用于傳輸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ù)組轉(zhuǎn)換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ù)組轉(zhuǎn)換base64 String encodeToString = encoder.encodeToString(baseByte); System.out.println("======>>>>>>:" + pre + encodeToString); fileInputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }
總結(jié)
到此這篇關(guān)于Java實現(xiàn)圖片轉(zhuǎn)base64的文章就介紹到這了,更多相關(guān)Java圖片轉(zhuǎn)base64內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!