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

JAVA實現網絡/本地圖片轉BASE64存儲代碼示例

 更新時間:2023年07月28日 11:21:46   作者:小碼農~LR  
這篇文章主要給大家介紹了關于JAVA實現網絡/本地圖片轉BASE64存儲的相關資料,Base64是網絡上最常見的用于傳輸8Bit字節(jié)碼的編碼方式之一,Base64就是一種基于64個可打印字符來表示二進制數據的方法,需要的朋友可以參考下

網絡圖片轉BASE64

            String encoder = "data:image/jpg;base64,"; //定義圖片類型,方便前端直接使用
            ByteArrayOutputStream data = new ByteArrayOutputStream();
            URL url = new URL(picUrl);//picUrl為圖片地址
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            InputStream is = connection.getInputStream();
            byte[] bytes = new byte[1024];
            int len = 0;
            while ((len = is.read(bytes)) != -1){
                data.write(bytes,0,len);
            }
            is.close();
            BASE64Encoder base64Encoder = new BASE64Encoder();
            encoder = encoder +  base64Encoder.encode(data.toByteArray()).replace("\r\n","").trim();//這里去掉結果里面的"\r\n",也可以不去,但是不去的話需要使用的時候還是要去掉,所以為了方便就先去掉再存儲

如果是本地圖片的話,其實和網絡圖片相差不多的,主要就是讀取圖片流的形式變一下

    String encoder = "data:image/jpg;base64,"; //定義圖片類型,方便前端直接使用
    ByteArrayOutputStream data = new ByteArrayOutputStream();
    String filePath = "filePath";//這里的filePath為本地存放圖片的地址
    FileInputStream is = new FileInputStream(filePath);
    byte[] bytes = new byte[1024];
            int len = 0;
            while ((len = is.read(bytes)) != -1){
                data.write(bytes,0,len);
            }
            is.close();
            BASE64Encoder base64Encoder = new BASE64Encoder();
            encoder = encoder +  base64Encoder.encode(data.toByteArray()).replace("\r\n","").trim();//這里去掉結果里面的"\r\n",也可以不去,但是不去的話需要使用的時候還是要去掉,所以為了方便就先去掉再存儲

附:Java實現圖片和base64之間的互轉

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.Base64;
public class ImageUtil {
    /**
     * 圖片轉Base64碼
     * @param src
     * @return
     */
    public static String convertImageToBase64Str(String src) {
        ByteArrayOutputStream baos = null;
        try {
            String suffix = src.substring(src.lastIndexOf(".") + 1);
            File imageFile = new File(src);
            BufferedImage bufferedImage = ImageIO.read(imageFile);
            baos = new ByteArrayOutputStream();
            ImageIO.write(bufferedImage, suffix, baos);
            byte[] bytes = baos.toByteArray();
            return Base64.getEncoder().encodeToString(bytes);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (baos != null) {
                    baos.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    /**
     * Base64碼轉圖片
     * @param base64String
     * @param newSrc
     */
    public static void convertBase64StrToImage(String base64String, String newSrc) {
        ByteArrayInputStream bais = null;
        try {
            String suffix = newSrc.substring(newSrc.lastIndexOf(".") + 1);
            byte[] bytes = Base64.getDecoder().decode(base64String);
            bais = new ByteArrayInputStream(bytes);
            BufferedImage bufferedImage = ImageIO.read(bais);
            File imageFile = new File(newSrc);
            ImageIO.write(bufferedImage, suffix, imageFile);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (bais != null) {
                    bais.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

總結

到此這篇關于JAVA實現網絡/本地圖片轉BASE64存儲的文章就介紹到這了,更多相關JAVA圖片轉BASE64存儲內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java對int[]數組做新增刪除去重操作代碼

    Java對int[]數組做新增刪除去重操作代碼

    這篇文章主要介紹了Java里面對int[]數組做新增刪除去重實現,這里記錄下使用int[]數組對數組進行新增刪除去重等操作,用來更加了解java里面的集合類思想,需要的朋友可以參考下
    2023-10-10
  • java8 stream的多字段排序實現(踩坑)

    java8 stream的多字段排序實現(踩坑)

    這篇文章主要介紹了java8 stream的多字段排序實現(踩坑),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Spring?Data?JPA?注解Entity關聯(lián)關系使用詳解

    Spring?Data?JPA?注解Entity關聯(lián)關系使用詳解

    這篇文章主要為大家介紹了Spring?Data?JPA?注解Entity關聯(lián)關系使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • easyexcel封裝工具類以及簡單使用方式

    easyexcel封裝工具類以及簡單使用方式

    文章介紹了如何使用封裝工具類、控制器和實體類進行開發(fā),并通過Postman進行測試,作者分享了個人經驗,希望能對大家有所幫助
    2026-02-02
  • 通過Java實現獲取表的自增主鍵值

    通過Java實現獲取表的自增主鍵值

    這篇文章主要為大家詳細介紹了如何通過Java實現獲取表的自增主鍵值,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以了解一下
    2023-06-06
  • 使用Spring實現@Value注入靜態(tài)字段

    使用Spring實現@Value注入靜態(tài)字段

    這篇文章主要介紹了使用Spring實現@Value注入靜態(tài)字段方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Mybatis實現批量更新數據(批量update)

    Mybatis實現批量更新數據(批量update)

    本文介紹了MyBatis批量更新數據的兩種方案,方案一使用foreach標簽拼接多條update語句,通過在數據庫連接URL中指定allowMultiQueries參數值為true來支持多條語句的執(zhí)行,提高效率;方案二拼接成一條SQL,但SQL語句會非常復雜且難以閱讀,不推薦使用
    2026-04-04
  • Java對象類型的判斷詳解

    Java對象類型的判斷詳解

    這篇文章主要介紹了Java對象類型的判斷,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 詳解Spring框架之基于Restful風格實現的SpringMVC

    詳解Spring框架之基于Restful風格實現的SpringMVC

    這篇文章主要介紹了詳解Spring框架之基于Restful風格實現的SpringMVC,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 如何使用Playwright對Java API實現自動視覺測試

    如何使用Playwright對Java API實現自動視覺測試

    這篇文章主要介紹了如何使用Playwright對Java API實現自動視覺測試,幫助大家更好的理解和使用Playwright,感興趣的朋友可以了解下
    2021-01-01

最新評論

嘉善县| 舞阳县| 临江市| 永康市| 阿拉尔市| 怀化市| 白水县| 高密市| 察哈| 广饶县| 黔西| 恭城| 江华| 罗平县| 武山县| 湖口县| 洪湖市| 东阿县| 黑河市| 临汾市| 永宁县| 百色市| 郎溪县| 遂川县| 临泉县| 元江| 贞丰县| 山东省| 扬中市| 沙河市| 普格县| 安康市| 广南县| 杭州市| 金塔县| 吉水县| 德令哈市| 白银市| 固阳县| 彩票| 南部县|