使用其中包含破折号的图片网址

时间:2012-02-05 12:35:59

标签: android url hyphen

我正在尝试从网站下载图片,我的代码在大多数情况下都运行良好,但我无法从此网址下载http://www.liveandlocal.org.uk/images/ShowPics/Steiny的%20Blues%20-%20Such%20Sweet%20Thunder .JPG

这个和其他网址之间的区别在于这个网址有一个破折号。我很确定这是问题所在。有办法解决这个问题吗?

我的错误是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上运行。

2 个答案:

答案 0 :(得分:1)

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

为我工作正常,经过测试,相应地替换字符'

-没问题。

答案 1 :(得分:0)

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

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

URLEncoder