這篇文章主要介紹了Java處理圖片實現base64編碼轉換的示例,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

注意事項
一般插件返回的base64編碼的字符串都是有一個前綴的。"data:image/jpeg;base64," 解碼之前這個得去掉。
Code
MainTest
/**
* 示例
* @throws UnsupportedEncodingException
* @throws FileNotFoundException
*/
@SuppressWarnings("resource")
public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException {
String strImg = getImageStr("Z:\\水印\\2.bmp");
System.out.println(strImg);
File file = new File("z://1.txt");
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
try {
osw.write(strImg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//generateImage(strImg, "Z:\\水印\\444.bmp");
}加密:
**
* @Description: 根據圖片地址轉換為base64編碼字符串
* @Author:
* @CreateTime:
* @return
*/
public static String getImageStr(String imgFile) {
InputStream inputStream = null;
byte[] data = null;
try {
inputStream = new FileInputStream(imgFile);
data = new byte[inputStream.available()];
inputStream.read(data);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
// 加密
Encoder encoder = Base64.getEncoder();
return encoder.encodeToString(data);
}解密:
/**
* @Description: 將base64編碼字符串轉換為圖片
* @Author:
* @CreateTime:
* @param imgStr base64編碼字符串
* @param path 圖片路徑-具體到文件
* @return
*/
public static boolean generateImage(String imgStr, String path) {
if (imgStr == null)
return false;
// 解密
try {
Decoder decoder = Base64.getDecoder();
byte[] b = decoder.decode(imgStr);
// 處理數據
for (int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
OutputStream out = new FileOutputStream(path);
out.write(b);
out.flush();
out.close();
return true;
} catch (IOException e) {
return false;
}
}Java主要應用于:1. web開發;2. Android開發;3. 客戶端開發;4. 網頁開發;5. 企業級應用開發;6. Java大數據開發;7.游戲開發等。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Java處理圖片實現base64編碼轉換的示例”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。