2012-02-05 77 views
0

我試圖從網站上下載圖像,並且我的代碼在大多數情況下工作正常,但無法從此URL下載http://www.liveandlocal.org.uk/images/ShowPics/Steiny的%20Blues%20-%20Such %20Sweet%20Thunder.jpg使用破折號的圖像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。

+0

看起來'''打破了它,而不是'-'。你有沒有urlencoded它? – Polynomial 2012-02-05 12:38:07

+0

我想也許我們需要看你的代碼。你怎麼看? – Borodin 2012-02-05 12:38:51

+0

我編輯了我的文章,包括代碼 - 也試過邁克爾的回答 - 沒有工作 – 2012-02-05 15:05:09

回答

1

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

對我很好,測試它,相應地替換字符'

-很好。

+0

這很好,現在都在工作。我只是使用.replace將「」改成%20和「'」改成%E2%80%99。有沒有更好的方法來做到這一點?你從哪裏找到%E2%80%99代碼? – 2012-02-05 15:30:58

+0

剛剛複製你在我的瀏覽器的地址欄中提到的網址,並打開圖像,然後再次從那裏複製它成爲'http://www.liveandlocal.org.uk/images/ShowPics/Steiny%E2%80%99s%20Blues %20-%20Su%%20Sweet%20Thunder.jpg'。現代瀏覽器在開始時會自動添加'http://',並在複製時替換空格和這些spl字符。 – 2012-02-05 16:52:24

0

您的網址包含不適合網址的字母(本例中爲')。 您可以編碼您的網址如下所示:

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

URLEncoder