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

Android中的圖片如何轉(zhuǎn)換成Base64格式

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

前言:

Android手機(jī)客戶端的圖片數(shù)據(jù)上傳到服務(wù)器中保存,首先需要將客戶端的圖片轉(zhuǎn)換成Base64格式,然后才能通過(guò)網(wǎng)絡(luò)上傳到服務(wù)器中。

有兩種方法可以實(shí)現(xiàn):

  • 讓客戶端將圖片上傳到服務(wù)器,將圖片的網(wǎng)絡(luò)URL告訴服務(wù)器

  • 將圖片轉(zhuǎn)成Base64編碼,傳遞給服務(wù)器,服務(wù)器將Base64字符串解碼之后生成一張圖片。

本文就重點(diǎn)講解一下圖片轉(zhuǎn)Base64

Android在util包中提供了android.util.Base64類

該類提供了四個(gè)編碼方法,分別是:

public static byte[] encode(byte[] input, int flags)
public static byte[] encode(byte[] input, int offset, int len, int flags)
public static String encodeToString(byte[] input, int flags)
public static String encodeToString(byte[] input, int offset, int len, int flags)

提供了三個(gè)解碼

public static byte[] decode(String str, int flags)
public static byte[] decode(byte[] input, int flags)
public static byte[] decode(byte[] input, int offset, int len, int flags)

我們發(fā)現(xiàn),四個(gè)編碼方法都有一個(gè)flags參數(shù),這就是編碼標(biāo)志位,或者編碼標(biāo)準(zhǔn)。

編碼標(biāo)準(zhǔn)有以下幾種:

  • CRLF

Win風(fēng)格的換行符,意思就是使用CR和LF這一對(duì)作為一行的結(jié)尾而不是Unix風(fēng)格的LF。
CRLF是Carriage-Return Line-Feed的縮寫(xiě),意思是回車(\r)換行(\n)。
也就是說(shuō),Window風(fēng)格的行結(jié)束標(biāo)識(shí)符是\r\n,Unix風(fēng)格的行結(jié)束標(biāo)識(shí)符是\n。
  • DEFAULT

這個(gè)參數(shù)是默認(rèn),使用默認(rèn)的方法來(lái)加密
  • NO_PADDING

這個(gè)參數(shù)是略去加密字符串最后的“=”
  • NO_WRAP

這個(gè)參數(shù)意思是略去所有的換行符(設(shè)置后CRLF就沒(méi)用了)
  • URL_SAFE

這個(gè)參數(shù)意思是加密時(shí)不使用對(duì)URL和文件名有特殊意義的字符來(lái)作為加密字符,具體就是以-和_取代+和/。
  • NO_CLOSE

通常與`Base64OutputStream`一起使用,是傳遞給`Base64OutputStream`的標(biāo)志指示它不應(yīng)關(guān)閉正在包裝的輸出流。

圖片轉(zhuǎn)Base64代碼如下:

/**
 * 將圖片轉(zhuǎn)換成Base64編碼的字符串
 */
public static String imageToBase64(String path){
    if(TextUtils.isEmpty(path)){
        return null;
    }
    InputStream is = null;
    byte[] data = null;
    String result = null;
    try{
        is = new FileInputStream(path);
        //創(chuàng)建一個(gè)字符流大小的數(shù)組。
        data = new byte[is.available()];
        //寫(xiě)入數(shù)組
        is.read(data);
        //用默認(rèn)的編碼格式進(jìn)行編碼
        result = Base64.encodeToString(data,Base64.NO_CLOSE);
    }catch (Exception e){
        e.printStackTrace();
    }finally {
        if(null !=is){
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
    return result;
}

Base64轉(zhuǎn)圖片代碼如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-426369.html

/**
 * 將Base64編碼轉(zhuǎn)換為圖片
 * @param base64Str
 * @param path
 * @return true
 */
public static boolean base64ToFile(String base64Str,String path) {
    byte[] data = Base64.decode(base64Str,Base64.NO_WRAP);
    for (int i = 0; i < data.length; i++) {
        if(data[i] < 0){
            //調(diào)整異常數(shù)據(jù)
            data[i] += 256;
        }
    }
    OutputStream os = null;
    try {
        os = new FileOutputStream(path);
        os.write(data);
        os.flush();
        os.close();
        return true;
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        return false;
    }catch (IOException e){
        e.printStackTrace();
        return false;
    }
}

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

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(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)文章

  • 如何將base64圖片轉(zhuǎn)化為URL格式

    1)將base64圖片格式轉(zhuǎn)為可讀的url格式 將圖片文件轉(zhuǎn)為二進(jìn)制,然后通過(guò)URL的createObjectURL函數(shù),將二進(jìn)制轉(zhuǎn)為url格式 2)將圖片轉(zhuǎn)為文件

    2024年02月12日
    瀏覽(25)
  • uni-app 支持 app端, h5端,微信小程序端 圖片轉(zhuǎn)換文件格式 和 base64

    uni-app 支持 app端 h5端,微信小程序端 圖片轉(zhuǎn)換文件格式 和 base64,下方是插件市場(chǎng)的地址 app端 h5端,微信小程序端 圖片轉(zhuǎn)換文件格式 和 base64 - DCloud 插件市場(chǎng) https://ext.dcloud.net.cn/plugin?id=13926

    2024年02月13日
    瀏覽(91)
  • 前端 img圖片如何 展示 base64 格式(并且下載到本地)

    前端 img圖片如何 展示 base64 格式(并且下載到本地)

    如題:最近在做項(xiàng)目發(fā)現(xiàn)頁(yè)面上有些圖片是動(dòng)態(tài)獲取的,也就是后臺(tái)給我們返回圖片的存放地址,一般都是放在服務(wù)器上的某個(gè)位置,我們直接拿到渲染一下就行了,(前提是不存在跨域問(wèn)題), 但是由于項(xiàng)目特殊性,后臺(tái)使用了Python 渲染出來(lái)的圖片是svg格式的圖片,并且

    2024年02月09日
    瀏覽(29)
  • 將html字符串中的base64圖片轉(zhuǎn)換成file并上傳

    目的 解決富文本編輯器中復(fù)制粘貼的圖片 base64 字符串過(guò)長(zhǎng)導(dǎo)致無(wú)法存儲(chǔ)到數(shù)據(jù)庫(kù)的問(wèn)題 思路 通過(guò)正則 獲取html字符串中里面的所有圖片 base64 數(shù)組 然后每個(gè)圖片base64 轉(zhuǎn)成file 使用上傳文件的函數(shù) 上傳到服務(wù)器上. 將上傳后獲取到的圖片訪問(wèn)url 替換成 數(shù)據(jù)里面的 img 的 src

    2024年01月23日
    瀏覽(58)
  • Python Selenium如何下載網(wǎng)頁(yè)中的圖片到本地?(Base64編碼的圖片下載)

    Python Selenium如何下載網(wǎng)頁(yè)中的圖片到本地?(Base64編碼的圖片下載)

    前言:? ? ? ?? ? ? ? ? 在網(wǎng)頁(yè)上,圖片有時(shí)會(huì)以Base64編碼的形式嵌入在HTML中,而不是作為單獨(dú)的文件提供。這種方式的優(yōu)點(diǎn)是可以減少HTTP請(qǐng)求的數(shù)量,因?yàn)閳D片數(shù)據(jù)直接包含在HTML中,不需要額外的請(qǐng)求來(lái)獲取圖片文件。這對(duì)于小圖片或圖標(biāo)特別有用,因?yàn)檫@些圖片的文

    2024年04月17日
    瀏覽(33)
  • 微信小程序常見(jiàn)圖片格式轉(zhuǎn)base64圖片

    1、在utils文件下新建一個(gè)auth.js文件(隨便取一個(gè)名字,你開(kāi)心就行),在里面添加以下代碼 如果是網(wǎng)絡(luò)圖片需要先使用wx.downloadFile({...})下載之后才可進(jìn)行轉(zhuǎn)換,本地的則直接轉(zhuǎn)換即可你可根據(jù)具體需求修改代碼,不要受此處代碼影響。 2、在你需要使用的地方引入

    2024年02月06日
    瀏覽(90)
  • 前端 base64與圖片相互轉(zhuǎn)換

    前端 base64與圖片相互轉(zhuǎn)換

    base64轉(zhuǎn)圖片 如下圖:(后端返回的數(shù)據(jù)) base64轉(zhuǎn)換圖片文件 圖片(url)轉(zhuǎn)換base64 便捷的圖片轉(zhuǎn)化base64 利用 Chrome 瀏覽器,在 chrome 下新建一個(gè)窗口,然后把要轉(zhuǎn)化的圖片直接拖入瀏覽器,打開(kāi)控制臺(tái),點(diǎn) Source,如下圖所示,點(diǎn)擊圖片,右側(cè)就會(huì)顯示該圖片的 base64 編碼

    2024年02月12日
    瀏覽(24)
  • vue圖片上傳并轉(zhuǎn)化base64格式

    vue圖片上傳并轉(zhuǎn)化base64格式

    組建中有一個(gè)@change=\\\"xxx\\\"方法,圖片上傳時(shí)會(huì)調(diào)用這個(gè)方法,在這個(gè)方法中可以拿到上傳圖片的一些數(shù)據(jù),可以對(duì)圖片數(shù)據(jù)進(jìn)行處理 轉(zhuǎn)化base64格式 傳入的文件格式 FileReade r接口提供了讀取文件的方法和包含讀取結(jié)果的事件模型。 readAsDataURL :這是例子程序中用到的方法,該方法

    2024年02月16日
    瀏覽(93)
  • vue 圖片轉(zhuǎn)base64格式的方法

    require的方式 用vue引入圖片的require方式獲取的值可以直接生成base64格式,但是該方法只適用于5kb大小以下的圖片 canvas.toDataURL() 該方法canvas.toDataURL(`image/${ext}`)傳入的圖片類型是什么生成后的base64數(shù)據(jù)前綴就是什么類型,如果傳入的類型和生成的類型不同,則表示該方法不支持

    2023年04月08日
    瀏覽(24)
  • 前端獲取本地圖片并且轉(zhuǎn)化為base64格式

    前端獲取本地圖片并且轉(zhuǎn)化為base64格式

    今天看見(jiàn)網(wǎng)上各位大佬五花八門的前端圖片獲取并轉(zhuǎn)化為base64格式的操作,果然高手在民間,很神奇,沒(méi)想到有這么多方法,那我也來(lái)寫(xiě)一個(gè)我自己的方法 我是習(xí)慣使用filereader這個(gè)內(nèi)置類,感覺(jué)比較簡(jiǎn)單,不用管內(nèi)部原理,反正可以獲取圖片,實(shí)現(xiàn)在互聯(lián)網(wǎng)上的傳輸就可以

    2024年02月09日
    瀏覽(99)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包