从包含特殊字符的URL下载图像

时间:2013-08-12 21:18:50

标签: java android json

        protected Bitmap doInBackground(String... params) {
        Bitmap bitmap = null;
            try{
                URL url = new URL(params[0]);
                InputStream inputStream = url.openStream();
                bitmap = BitmapFactory.decodeStream(inputStream);
            }catch(Exception e)
            {
                e.printStackTrace();
            }
            return bitmap;
        }

现在如果params等于

  

内容/上传/ 2013/07 / \ u039d \ u03b9 \ u03ba \ u03bf \ u03bb \ u03ad \ u03c4 \ u03b1- \ u2013-Nicoleta.jpg

它返回null。 我尝试使用URLEncoder和URLDecoder,但它不起作用

1 个答案:

答案 0 :(得分:1)

URLEncoder将对协议字符进行编码(即http://),并在这种情况下导致无效的网址。尝试使用:

URI uri = new URI(params[0]);
String converted = uri.toASCIIString();
URL url = new URL(converted);