国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java中實(shí)現(xiàn)圖片和Base64的互相轉(zhuǎn)化

這篇具有很好參考價(jià)值的文章主要介紹了Java中實(shí)現(xiàn)圖片和Base64的互相轉(zhuǎn)化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


前言

公司項(xiàng)目中用到了實(shí)名認(rèn)證此,采用的第三方平臺(tái)。后端中用到的單項(xiàng)功能為身份證信息人像對(duì)比功能,在寫demo的過程中發(fā)現(xiàn),它們所要求的圖片信息為base64編碼格式。

一、代碼

package com.bajiao.wyq.tools.chuanglan;

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;

import javax.imageio.ImageIO;

public class ConvertImage {

	/**
     * 圖片轉(zhuǎn)Base64字符串
     * @param imageFileName
     * @return
     */
    public static String convertImageToBase64Str(String imageFileName) {
        ByteArrayOutputStream baos = null;
        try {
            //獲取圖片類型
            String suffix = imageFileName.substring(imageFileName.lastIndexOf(".") + 1);
            //構(gòu)建文件
            File imageFile = new File(imageFileName);
            //通過ImageIO把文件讀取成BufferedImage對(duì)象
            BufferedImage bufferedImage = ImageIO.read(imageFile);
            //構(gòu)建字節(jié)數(shù)組輸出流
            baos = new ByteArrayOutputStream();
            //寫入流
            ImageIO.write(bufferedImage, suffix, baos);
            //通過字節(jié)數(shù)組流獲取字節(jié)數(shù)組
            byte[] bytes = baos.toByteArray();
            //獲取JDK8里的編碼器Base64.Encoder轉(zhuǎn)為base64字符
            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字符串轉(zhuǎn)圖片
     * @param base64String
     * @param imageFileName
     */
    public static void convertBase64StrToImage(String base64String, String imageFileName) {
        ByteArrayInputStream bais = null;
        try {
            //獲取圖片類型
            String suffix = imageFileName.substring(imageFileName.lastIndexOf(".") + 1);
            //獲取JDK8里的解碼器Base64.Decoder,將base64字符串轉(zhuǎn)為字節(jié)數(shù)組
            byte[] bytes = Base64.getDecoder().decode(base64String);
            //構(gòu)建字節(jié)數(shù)組輸入流
            bais = new ByteArrayInputStream(bytes);
            //通過ImageIO把字節(jié)數(shù)組輸入流轉(zhuǎn)為BufferedImage
            BufferedImage bufferedImage = ImageIO.read(bais);
            //構(gòu)建文件
            File imageFile = new File(imageFileName);
            //寫入生成文件
            ImageIO.write(bufferedImage, suffix, imageFile);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (bais != null) {
                    bais.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

二、測試

public static void main(String[] args) {
        System.out.println("----------------------------圖片轉(zhuǎn)Base64字符串---------------------------");
        //圖片文件路徑
        String imageFileName = "C:\\Users\\22.jpg";
        //圖片轉(zhuǎn)Base64字符串
        String base64Str = ConvertImage.convertImageToBase64Str(imageFileName);
        System.out.println(base64Str);

        System.out.println("----------------------------Base64字符串轉(zhuǎn)圖片---------------------------");
        //新文件路徑
        String newFileName = "C:\\Users\\22.jpg";
        //Base64字符串轉(zhuǎn)圖片
        ConvertImage.convertBase64StrToImage(base64Str, newFileName);
        System.out.println("生成的文件的路徑是:"+newFileName);
    }

三、結(jié)果

Java中實(shí)現(xiàn)圖片和Base64的互相轉(zhuǎn)化,Java,JAVA開發(fā)工具/工具類,java,開發(fā)語言文章來源地址http://www.zghlxwxcb.cn/news/detail-633485.html

到了這里,關(guān)于Java中實(shí)現(xiàn)圖片和Base64的互相轉(zhuǎn)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何將圖片轉(zhuǎn)化為base64編碼格式顯示

    base64編碼 是將數(shù)據(jù)用 64 個(gè)可打印的字符進(jìn)行編碼的方式,任何數(shù)據(jù)底層實(shí)現(xiàn)都是二進(jìn)制,所以都可以進(jìn)行 base64編碼,base64編碼 主要用在數(shù)據(jù)傳輸過程中(編碼、解碼)。而 Data URI 是將數(shù)據(jù)用 URI 的形式進(jìn)行展現(xiàn)。常用的是將圖片進(jìn)行 base64 編碼,用 Data URI 的形式進(jìn)行展現(xiàn),可

    2024年02月06日
    瀏覽(24)
  • java base64轉(zhuǎn)圖片

    java base64轉(zhuǎn)圖片

    方法 : 傳入文件路徑和base64位的編碼 main方法 結(jié)果

    2024年02月13日
    瀏覽(18)
  • Java - 將base64編碼解碼成圖片

    Java - 將base64編碼解碼成圖片

    為了方便測試,我們可以使用一個(gè)圖片編碼網(wǎng)站,將圖片進(jìn)行base64編碼 解密的代碼如下 因?yàn)閳D片的Base64字符串非常大,動(dòng)輒幾百K,所以不能直接使用 String base64 = \\\"${該圖片的base64串}\\\" 進(jìn)行測試,否則編譯器會(huì)報(bào)錯(cuò) Java \\\"constant string too long\\\" compile error\\\" 。這個(gè)錯(cuò)誤的出現(xiàn),是因

    2023年04月09日
    瀏覽(28)
  • JAVA實(shí)現(xiàn)網(wǎng)絡(luò)/本地圖片轉(zhuǎn)BASE64存儲(chǔ)

    網(wǎng)絡(luò)圖片轉(zhuǎn)BASE64 如果是本地圖片的話,其實(shí)和網(wǎng)絡(luò)圖片相差不多的,主要就是讀取圖片流的形式變一下 若有問題,可以留言探討。

    2024年02月13日
    瀏覽(17)
  • Java 圖片渲染到前端,向前端一次返回多張Base64圖片

    當(dāng)我們從服務(wù)器讀取的圖片鏈接返回給前端,前端可以很輕松的下載和展示,但是對(duì)于臨時(shí)文件,我們不需要保存到服務(wù)器,比如PPT轉(zhuǎn)圖片,PDF轉(zhuǎn)圖片等等,我們需要直接返回給前端,對(duì)于一張圖片可以使用flush()渲染到前端,多張圖片可以把圖片編碼成Base64,并存儲(chǔ)到數(shù)組中

    2024年02月09日
    瀏覽(26)
  • 圖片文件和 Base64 字符串互轉(zhuǎn)(Java 實(shí)現(xiàn))

    ??項(xiàng)目中,有些場景下,客戶端需要將本地圖片傳輸?shù)椒?wù)方存儲(chǔ),此時(shí)客戶端可以將圖片文件轉(zhuǎn)為 Base64 字符串傳輸?shù)椒?wù)方,服務(wù)方收到后再將 Base64 字符串還原為圖片。以下是一些圖片文件和 Base64 字符串互轉(zhuǎn)的工具類,以及校驗(yàn)圖片大小的工具。 一、依賴包 二、工

    2024年02月04日
    瀏覽(30)
  • Java讀取外鏈圖片忽略ssl驗(yàn)證轉(zhuǎn)為base64

    ? ? ? ? 最近在對(duì)接外部接口時(shí)遇到返回的圖片所在的服務(wù)器全都沒有ssl證書,導(dǎo)致在前端直接用img標(biāo)簽展示時(shí)圖片開裂。于是轉(zhuǎn)為通過后端獲取,繞過ssl驗(yàn)證之后轉(zhuǎn)為base64返回。記錄一下代碼段。

    2024年02月15日
    瀏覽(18)
  • JAVA實(shí)現(xiàn)向Word模板中插入Base64圖片和數(shù)據(jù)信息

    JAVA實(shí)現(xiàn)向Word模板中插入Base64圖片和數(shù)據(jù)信息

    在服務(wù)端提前準(zhǔn)備好Word模板文件,并在用戶請(qǐng)求接口時(shí)服務(wù)端動(dòng)態(tài)獲取圖片。數(shù)據(jù)等信息插入到模板當(dāng)中,然后返回包含數(shù)據(jù)信息的Word文件流。 在需要插入圖片的地方使用:{{@參數(shù)名}},文本信息使用:{{參數(shù)名}},進(jìn)行占位,占位格式將會(huì)被保留,經(jīng)過處理后格式不變 將準(zhǔn)

    2024年01月19日
    瀏覽(25)
  • java使用hutool把服務(wù)器圖片鏈接轉(zhuǎn)為base64編碼

    需求是把服務(wù)器的圖片鏈接或者網(wǎng)上的圖片鏈接地址轉(zhuǎn)為base64位編碼方便前端操作 base64編碼轉(zhuǎn)為圖片在線網(wǎng)址 https://imgtobase64.d777.com/ 1.1 引入依賴 1.2 代碼

    2024年02月12日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包