が含まれていますダウンロード画像のURLは、私は、次のURLで画像をダウンロードしようとする「E」
http://upload.tapcrowd.com//cache//_cp_100_100_stand_filière_300x212.jpg
ブラウザで見ることができるように、これは画像を示しているが、私のアプリに私はFileNotFoundExceptionを取得します。
ただし、画像のURLを「è」から「e」に変更した場合。私は正常に私のアプリにそれをダウンロードすることができます。しかしこれは、ユニコードのサインで画像をダウンロードできる必要があるため、一時的な解決策に過ぎません。
どうすればこの問題を解決できますか?画像をダウンロードするために使用さ
方法:私の作品
Bitmap bitmap = null;
URL imageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(true);
InputStream is = conn.getInputStream();
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();
bitmap = decodeFile(f, maxheight, maxwidth);
結果コード:
Bitmap bitmap = null;
int slashIndex = url.lastIndexOf('/');
String filename = url.substring(slashIndex + 1);
filename = URLEncoder.encode(filename, "UTF-8");
url = url.subSequence(0, slashIndex + 1) + filename;
URL imageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(true);
InputStream is = conn.getInputStream();
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();
bitmap = decodeFile(f, maxheight, maxwidth);
おそらくエンコードの問題です。パスをurlencodeする必要があります(.comの後の部分) – njzk2
URLEncoder.encode(url)を試しました。しかし、成功していない – ePeace
あなたはエンコードを指定しましたか、またはただ1つの引数で非推奨のエンコードを使用しましたか? – ben75