0

我正在尝试从网站下载图像,并且我的代码在大多数情况下都可以正常工作,但是我无法从该 URL http://www.liveandlocal.org.uk/images/ShowPics/Steiny的%20Blues 下载%20-%20Such%20Sweet%20Thunder.jpg

此 URL 与其他 URL 之间的区别在于,此 URL 带有破折号。我相当肯定这是问题所在。有没有解决的办法?

我的错误是java.io.filenotfoundexception

我的初始代码是:

imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/" + Show + ".jpg";
imgLink = imgLink.replace(" ", "%20"); 

这给了我这样的链接:http ://www.liveandlocal.org.uk/images/ShowPics/The%20Atlantics.jpg 有效,但这不适用于我在顶部发布的链接。

所以现在我试过了:

try {
    Show = URLEncoder.encode(Show, "UTF-8");
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/" + Show + ".jpg";

这不适用于我的任何链接,例如http://www.liveandlocal.org.uk/images/ShowPics/The+Atlantics.jpg

如果您将本文开头的链接复制并粘贴到浏览器中,它将起作用,因此它不适用于 Android。

4

2 回答 2

1

imgLink = "http://www.liveandlocal.org.uk/images/ShowPics/Steiny%E2%80%99s%20Blues%20-%20Such%20Sweet%20Thunder.jpg"

对我来说工作正常,对其进行测试,因此相应地替换字符 '.

-很好。

于 2012-02-05T15:25:37.843 回答
0

您的网址包含不适合网址的字母('在这种情况下)。您可以将您的网址编码如下:

String encodedUrl = URLEncoder.encode(normalUrl, "UTF-8");

URL编码器

于 2012-02-05T12:43:28.107 回答