从网上下载图片

时间:2013-06-03 15:48:04

标签: android image

我在服务器上有通过电子邮件命名的图像,所以当我尝试在我的应用程序上下载它们时路径上没有显示@符号时,无论如何都要停止转义此符号吗?

示例: 正确的道路 Http://www.xxxxx.com/a@a.com.jpg

错误的路径 Http://www.xxxxx.com/aa.com.jpg

我尝试过网址编码,但在我的情况下没用[/ p>]

Bitmap downloadFile(String fileUrl) {
    URL myFileUrl = null;
    Bitmap bmImg = null;
    try {
        myFileUrl = new URL(fileUrl);
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        HttpURLConnection conn = (HttpURLConnection) myFileUrl
                .openConnection();
        conn.setDoInput(true);
        conn.connect();
        InputStream is = conn.getInputStream();

        bmImg = BitmapFactory.decodeStream(is);

        // imView.setImageBitmap(bmImg);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return bmImg;

}

1 个答案:

答案 0 :(得分:0)

尝试使用Android SDK中的URLEncoder

try {
    myFileUrl = new URL(java.net.URLEncoder.encode(fileUrl));
} catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

修改

刚看到我的错误。这不起作用,因为它编码整个URL。

您必须将电子邮件地址与其他网址分开。

    myFileUrl = new URL("http://www.xxxx.com/"+java.net.URLEncoder.encode(email));

或者,只需替换问题字符。

    myFileUrl = new URL(fileUrl.replace("@","%40"));