网络图片转BASE64
String encoder = "data:image/jpg;base64,"; //定义图片类型,方便前端直接使用 ByteArrayOutputStream data = new ByteArrayOutputStream();URL url = new URL(picUrl);//picUrl为图片地址HttpURLConnection connection = (HttpURLConnection) url.openConnection();InputStream is = connection.getInputStream();byte[] bytes = new byte[1024];int len = 0;while ((len = is.read(bytes)) != -1){data.write(bytes,0,len);}is.close();BASE64Encoder base64Encoder = new BASE64Encoder();encoder = encoder +base64Encoder.encode(data.toByteArray()).replace("\r\n","").trim();//这里去掉结果里面的"\r\n",也可以不去,但是不去的话需要使用的时候还是要去掉,所以为了方便就先去掉再存储
如果是本地图片的话,其实和网络图片相差不多的,主要就是读取图片流的形式变一下
String encoder = "data:image/jpg;base64,"; //定义图片类型,方便前端直接使用ByteArrayOutputStream data = new ByteArrayOutputStream();String filePath = "filePath";//这里的filePath为本地存放图片的地址FileInputStream is = new FileInputStream(filePath); byte[] bytes = new byte[1024]; int len = 0;while ((len = is.read(bytes)) != -1){data.write(bytes,0,len);}is.close();BASE64Encoder base64Encoder = new BASE64Encoder();encoder = encoder +base64Encoder.encode(data.toByteArray()).replace("\r\n","").trim();//这里去掉结果里面的"\r\n",也可以不去,但是不去的话需要使用的时候还是要去掉,所以为了方便就先去掉再存储
若有问题,可以留言探讨。