/**
* 對本地圖片文件二進制數據進行Base64加密
*
* @param imagePath
* @return Base64加密後的二進制字符串
* @throws IOException
*/
public final String encodeBase64Image(String imagePath) throws IOException {
File file = new File(imagePath);
byte[] content = new byte[(int) file.length()];
FileInputStream finputstream = null;
try {
finputstream = new FileInputStream(file);
finputstream.read(content);
} finally {
if (finputstream != null)
finputstream.close();
}
return new String(Base64.encodeBase64(content));
}
/**
* 將網絡圖片轉換成Base64編碼字符串
*
* @param imgUrl 網絡圖片Url
* @return
*/
public static String getImgUrlToBase64(String imgUrl) {
InputStream inputStream = null;
ByteArrayOutputStream outputStream = null;
byte[] buffer = null;
try {
// 創建URL
URL url = new URL(imgUrl);
// 創建鏈接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
inputStream = conn.getInputStream();
outputStream = new ByteArrayOutputStream();
// 將內容讀取內存中
buffer = new byte[1024];
int len = -1;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
buffer = outputStream.toByteArray();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
// 關閉inputStream流
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outputStream != null) {
try {
// 關閉outputStream流
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// 對字節數組Base64編碼
return new BASE64Encoder().encode(buffer);
}