导入需要的包:
import java.io.*;
import sun.misc.BASE64Encoder;
import java.net.HttpURLConnection;
使用Java根据oss上保存图片的地址转为Base64编码
private String getBase64(String url) {
InputStream in = null;
final ByteArrayOutputStream data = new ByteArrayOutputStream();
//读取图片字节数组
try {
URL url = new URL(url);
final byte[] by = new byte[1024];
// 创建链接获取图片
final HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
in = conn.getInputStream();
int len = -1;
while ((len = in.read(by)) != -1) {
data.write(by, 0, len);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
//返回Base64编码过的字节数组字符串
String encode = encoder.encode(data.toByteArray());
encode = encode.replaceAll("[\\s*\t\n\r]", "");
return encode;
}