网络图片转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",也可以不去,但是不去的话需要使用的时候还是要去掉,所以为了方便就先去掉再存储若有问题,可以留言探讨。
该代码示例展示了如何使用Java将网络图片和本地图片转换成BASE64编码。首先,通过HTTP连接获取网络图片流,然后使用BASE64编码器进行转换。对于本地图片,同样是读取文件流后进行转换。转换过程中,还处理了结果中的
,以便于前端直接使用。
3309

被折叠的 条评论
为什么被折叠?



