【源码】java中图片和Base64互相转换源码
生活随笔
收集整理的這篇文章主要介紹了
【源码】java中图片和Base64互相转换源码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java中的圖片和Base64為之間的轉換,和android有區別的
Base64和圖片之間的轉換可以用于客戶端和服務器數據傳輸中,在android客戶端上獲取圖片,然后轉換成Base64,按照普通String字符串的形式傳到服務器上,在轉換成圖片。
android圖片和Base64互相轉換傳送門:
傳送門
上代碼:
| 123456789 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | package com.tss.utils;import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream;import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;public class ImageOperate {//將圖片轉換成Base64public static String GetImageStr(String imgFilePath) {// 將圖片文件轉化為字節數組字符串,并對其進行Base64編碼處理byte[] data = null;// 讀取圖片字節數組try {InputStream in = new FileInputStream(imgFilePath);data = new byte[in.available()];in.read(data);in.close();} catch (IOException e) {e.printStackTrace();}// 對字節數組Base64編碼BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(data);// 返回Base64編碼過的字節數組字符串}//將Base64轉換成圖片public static boolean GenerateImage(String imgStr, String imgFilePath) {// 對字節數組字符串進行Base64解碼并生成圖片if (imgStr == null)// 圖像數據為空return false;BASE64Decoder decoder = new BASE64Decoder();try {// Base64解碼byte[] bytes = decoder.decodeBuffer(imgStr);for (int i = 0; i < bytes.length; ++i) {if (bytes[i] < 0) {// 調整異常數據bytes[i] += 256;}}// 生成jpeg圖片OutputStream out = new FileOutputStream(imgFilePath);out.write(bytes);out.flush();out.close();return true;} catch (Exception e) {return false;}}} |
總結
以上是生活随笔為你收集整理的【源码】java中图片和Base64互相转换源码的全部內容,希望文章能夠幫你解決所遇到的問題。