JAVA將Base64的加密字符串轉(zhuǎn)為圖片格式實(shí)戰(zhàn)案例
前言
Base64 是一種將二進(jìn)制數(shù)據(jù)編碼為文本的方式,通常用于傳輸和存儲媒體文件(如圖像、音頻)以及其他二進(jìn)制數(shù)據(jù)。它的主要作用是將非文本數(shù)據(jù)轉(zhuǎn)換為可安全傳輸?shù)奈谋緮?shù)據(jù)。
案例:
java.util.Base64中提供方法逆解碼加密數(shù)據(jù),使用Base64.getDecoder().decode()方法逆解碼后會返回字節(jié)數(shù)據(jù),接收后即是加密文件的數(shù)據(jù)本
代碼:
// 解碼 Base64 字符串
byte[] decodedBytes =Base64.decodeBase64(as);
// 設(shè)置項(xiàng)目路徑下的文件路徑(例如保存為當(dāng)前工作目錄下的 decoded_image.jpg)
String filePath = "/picture/"+name;
// 保存解碼后的字節(jié)數(shù)組為圖像文件
try (FileOutputStream fos = new FileOutputStream(filePath)) {
fos.write(decodedBytes);
System.out.println("文件已成功保存為: " + filePath);
} catch (IOException e) {
e.printStackTrace();
}以上代碼邏輯,as屬性存放的是base64加密后的數(shù)據(jù),通過方法進(jìn)行解碼后成為Byte類型的數(shù)組,定義文件路徑后將文件存儲
以上為base64加密數(shù)據(jù)的處理方式
附:將圖片轉(zhuǎn)成base64
var img = "https://img2.baidu.com/it/u=2163681967,1120787845&fm=253&fmt=auto&app=138&f=PNG?w=200&h=267";
function getBase64Image(img) {
var canvas = document.createElement("canvas");
console.log(img.width,img.height)
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 20, 20, 200, 200);
var ext = img.src.substring(img.src.lastIndexOf(".")+1).toLowerCase();
var dataURL = canvas.toDataURL("image/"+ext);
return dataURL;
}
var canvas=document.querySelector('canvas');
// 獲取畫筆
var context=canvas.getContext('2d');
// 創(chuàng)建一個img標(biāo)簽 構(gòu)造函數(shù)方式new Image();
var image=new Image();
image.crossOrigin = 'anonymous';
// console.log(img);
image.src=img
console.log('image',image)
// 繪制圖片,drawImage有5個參數(shù):要繪制得圖片/視頻,開始x、y軸位置,寬高
image.onload=function(){
context.drawImage(image,0,0,200,200);
var base64 = getBase64Image(image);
console.log(base64);
}總結(jié)
到此這篇關(guān)于JAVA將Base64的加密字符串轉(zhuǎn)為圖片格式的文章就介紹到這了,更多相關(guān)JAVA將Base64轉(zhuǎn)為圖片格式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python編程django實(shí)現(xiàn)同一個ip十分鐘內(nèi)只能注冊一次
這篇文章主要介紹了Python編程django實(shí)現(xiàn)同一個ip十分鐘內(nèi)只能注冊一次的相關(guān)內(nèi)容,具有一定參考價(jià)值。需要的朋友可以了解下。2017-11-11
Python實(shí)現(xiàn)Harbor私有鏡像倉庫垃圾自動化清理詳情
這篇文章主要介紹了Python實(shí)現(xiàn)Harbor私有鏡像倉庫垃圾自動化清理詳情,文章圍繞主題分享相關(guān)詳細(xì)代碼,需要的小伙伴可以參考一下2022-05-05
基于Python?+?PyQt搭建可視化頁面的詳細(xì)教程
PyQt是一個Python綁定庫,它是基于Qt庫的,PyQt提供了一整套豐富的組件,包括窗口、按鈕、菜單、列表框等,以及事件處理、布局管理、網(wǎng)絡(luò)通信等多種功能,本文介紹了基于Python?+?PyQt搭建可視化頁面的詳細(xì)教程,需要的朋友可以參考下2024-07-07
tensorflow 大于某個值為1,小于為0的實(shí)例
這篇文章主要介紹了tensorflow 大于某個值為1,小于為0的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06
opencv python 圖像輪廓/檢測輪廓/繪制輪廓的方法
這篇文章主要介紹了opencv python 圖像輪廓/檢測輪廓/繪制輪廓的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python 游戲大作炫酷機(jī)甲闖關(guān)游戲爆肝數(shù)千行代碼實(shí)現(xiàn)案例進(jìn)階
本篇文章給大家?guī)鞵ython的一個游戲大制作—機(jī)甲闖關(guān)冒險(xiǎn),數(shù)千行代碼實(shí)現(xiàn)的游戲,過程很詳細(xì),對大家的學(xué)習(xí)或工作具有一定的借鑒價(jià)值,需要的朋友可以參考下2021-10-10

