使用HttpUrlConnection请求图片, 把获取的流数据转成Base64字符串
工具类
/** * 请求图片地址, 返回的结果进行base64编码 * * @param imgUrl 图片地址 * @return */ public static String requestUrlToBase64(String imgUrl) { String result = null; HttpURLConnection connection = null; try { URL url = new URL(imgUrl); connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("GET"); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); // 获取请求输入流 InputStream inputStream = connection.getInputStream(); // inputStream流数据转ByteArrayOutputStream int len = -1; byte[] buffer = new byte[1024]; ByteArrayOutputStream out = new ByteArrayOutputStream(); while ((len = inputStream.read(buffer)) != -1) { out.write(buffer, 0, len); } // ByteArrayOutputStream编码成base64字符串 result = new String(Base64.getEncoder().encode(out.toByteArray())); connection.disconnect(); } catch (Exception e) { e.printStackTrace(); }finally{ if(connection != null){ connection.disconnect(); } } return result; }