2012-02-16 23 views
0

我們將文件上傳到Amazon AWS S3服務器,並使用java類文件中的文件url來提供下載文件的功能。Slugify url中的url

,如果我上傳的文件爲「測試自動報告Sheet.pdf」(含單詞之間有空格),則該URL

https://s3.amazonaws.com/cdn.generalsentiment.com/MVR/reports/Test+Automated+Report+Sheet1.pdf

我越來越ArrayIndex出界異常爲該網址包含'+'符號,因此我用空格再次替換'+'符號。這裏是做這個的代碼。 我使用

String reportURL = mediaValueReport.getReportFileURL().replace('+', ' '); 

是這種做法罰款或者我可以寫成爲一個更優化的方式。

+1

你能否告訴我們的錯誤在於許多幫手liberaies?你已經提到了ArrayIndexOutOfBOund。我會從那裏開始,因爲使用編碼的URL下載內容非常好。 – 2012-02-16 05:22:13

回答

2

沒有必要手動執行此操作。它是URL編碼和解碼的標準。

有,你可以使用e.g URLDecoder

+0

String reportURL1 = mediaValueReport.getReportFileURL();String reportURL = reportURL1.substring(reportURL1.lastIndexOf(「/」)+ 1,reportURL1.length()); (0,reportURL1.lastIndexOf(「/」)+1) + URLEncoder.encode(reportURL,「UTF-8」);但它用「+ 2B」代替「+」而不是有效的URL .. – 2012-02-16 06:24:41

+0

你是否在編碼和解碼中使用相同的類?你應該。換句話說,您應該在發送之前對URL進行編碼,然後再進行decoe。 – Shahzeb 2012-02-16 06:29:51