圖片url轉base64
阿新 • • 發佈:2018-11-26
package com.lance.application.utils; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import org.springframework.util.Base64Utils; public class PicUtils { public static void main(String[] args) { try { String result = GetUrlImageToBase64("http://wx.qlogo.cn/mmopen/LNbf7sBg8knI4jl9d59XJsSm7mKFmKjS6SgOp4eZZU3zdJlUuHibGFWkEBia2nLJCeywKpZic5WicQunTh6ZsicsUmlDGUDynxEhU/0"); System.out.println(result); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static String GetUrlImageToBase64(String url) throws Exception { if (url == null || "".equals(url.trim())) return null; URL u = new URL(url); // 開啟圖片路徑 HttpURLConnection conn = (HttpURLConnection) u.openConnection(); // 設定請求方式為GET conn.setRequestMethod("GET"); // 設定超時響應時間為5秒 conn.setConnectTimeout(5000); conn.setReadTimeout(5000); // 通過輸入流獲取圖片資料 InputStream inStream = conn.getInputStream(); ByteArrayOutputStream swapStream = new ByteArrayOutputStream(); byte[] buff = new byte[1024]; int rc = 0; while ((rc = inStream.read(buff, 0, 1024)) > 0) { swapStream.write(buff, 0, rc); } byte[] in2b = swapStream.toByteArray(); // 讀取圖片位元組陣列 inStream.close(); // 返回Base64編碼過的位元組陣列字串 String result = Base64Utils.encodeToString(in2b); String res = "data:image/jpg;base64,"+result; return res; } }