我正在尝试获取一系列图像的网址:
for(Element img : document.select(".left-column .strillo-content .lazy img[src]")) {
InputStream input = new java.net.URL(imageMainUrl).openStream();
Bitmap bitmap = BitmapFactory.decodeStream(input);
images.add(bitmap);
}
但每次我尝试运行我的应用程序时,我都会收到以下警告:
java.net.MalformedURLException: Unknown protocol: data
at java.net.URL.<init>(URL.java:184)
at java.net.URL.<init>(URL.java:127)
所以我试图打印 URL,我得到了这个:
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
我可以弄清楚为什么,因为我 100% 确定我选择的元素是正确的,而且我对网站的其他部分执行相同的过程并且它有效..
更新 1:我尝试过这种方法来解码“base64”图像:
byte[] decodedString = Base64.decode(imageMainUrl, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
但结果是一样的..