2012-02-16 4 views
0

Amazon AWS S3サーバーにファイルをアップロードし、javaクラスファイルのurlファイルを使用してファイルをダウンロードする機能を提供します。javaのURLをスラッシュ化する

i「はテスト自動レポートSheet.pdf」(単語間のスペースを含む)などのファイルをアップロードする場合は、そのためのURLは、私のようにバインドされた例外のArrayIndexアウトを取得しています

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

ですurlには '+'記号が含まれているため、 '+'記号を空白で置き換えます。ここにそれを行うためのコードがあります。 は私が

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

を使用しています。このアプローチの罰金ですか、私はそれより最適な方法書くことができます。

+1

を使用することができ、多くのヘルパーliberaiesがありますか? ArrayIndexOutOfBOundについて説明しました。コード化されたURLを使用してコンテンツをダウンロードすると、完璧にうまくいくので、そこから始めます。 –

答えて

2

手動で行う必要はありません。 URLのエンコードとデコードの標準です。

エラーがどこにあるかあなたが教えてもらえ例えばURLDecoder

+0

文字列reportURL1 = mediaValueReport.getReportFileURL(); 文字列reportURL = reportURL1.substring(reportURL1.lastIndexOf( "/")+ 1、reportURL1.length()); String url = reportURL1.substring(0、reportURL1.lastIndexOf( "/")+1) + URLEncoder.encode(reportURL、 "UTF-8");しかし、有効なURLではない "+"を "+ 2B"に置き換えます。 –

+0

エンコードとデコードの両方に同じクラスを使用していますか?あなたはすべきです。言い換えれば、送信する前にURLをエンコードしてデコーする必要があります。 – Shahzeb

関連する問題