JAVA將Base64的加密字符串轉(zhuǎn)為圖片格式實(shí)戰(zhàn)案例
前言
Base64 是一種將二進(jìn)制數(shù)據(jù)編碼為文本的方式,通常用于傳輸和存儲(chǔ)媒體文件(如圖像、音頻)以及其他二進(jìn)制數(shù)據(jù)。它的主要作用是將非文本數(shù)據(jù)轉(zhuǎn)換為可安全傳輸?shù)奈谋緮?shù)據(jù)。
案例:
java.util.Base64中提供方法逆解碼加密數(shù)據(jù),使用Base64.getDecoder().decode()方法逆解碼后會(huì)返回字節(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ù),通過(guò)方法進(jìn)行解碼后成為Byte類(lèi)型的數(shù)組,定義文件路徑后將文件存儲(chǔ)
以上為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');
// 獲取畫(huà)筆
var context=canvas.getContext('2d');
// 創(chuàng)建一個(gè)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個(gè)參數(shù):要繪制得圖片/視頻,開(kāi)始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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Python實(shí)現(xiàn)對(duì)比Exce的工具
這篇文章主要介紹了基于Python實(shí)現(xiàn)對(duì)比Excel的小工具,通過(guò)循環(huán)對(duì)比組合列(主鍵+對(duì)比列)結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2022-04-04
python簡(jiǎn)單實(shí)現(xiàn)計(jì)算過(guò)期時(shí)間的方法
這篇文章主要介紹了python簡(jiǎn)單實(shí)現(xiàn)計(jì)算過(guò)期時(shí)間的方法,涉及Python時(shí)間操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
python用opencv批量截取圖像指定區(qū)域的方法
今天小編就為大家分享一篇python用opencv批量截取圖像指定區(qū)域的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例分享(百度貼吧自動(dòng)簽到)
這篇文章主要介紹了python3模擬百度登錄并實(shí)現(xiàn)百度貼吧簽到示例,需要的朋友可以參考下2014-02-02
Python實(shí)戰(zhàn)之手勢(shì)識(shí)別控制電腦音量
這篇文章主要為大家詳細(xì)介紹了一個(gè)Python OpenCV的實(shí)戰(zhàn)小項(xiàng)目——手勢(shì)識(shí)別控制電腦音量,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-05-05

