在我的应用程序中,有一个 ImageView 显示来自 URL 的图像。
我使用这种方法下载图像:
Bitmap bitmap=null;
URL imageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection)imageUrl.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(true);
InputStream is=conn.getInputStream();
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();
bitmap = decodeFile(f);
return bitmap;
这仅适用于具有数字或英文字母的 URL,不适用于任何其他字符(如空格):
好网址: http ://site.com/images/image.png
错误网址: http : //site.com/images/image 1.png
我试图改变 URL 编码(URLEncoder.encode),但它改变了整个 URL(包括斜杠等......)。
编码后是否需要替换一些字符?或者也许有更好的方法?
谢谢 :)