URLから画像をダウンロードしようとしています。私が直面している問題は、URL に www がない場合にエラーが発生することですが、www を追加すると正常に動作します。これらの URL を Web サービスから取得していますが、www があるものとないものがある可能性があり、この問題を解決するための解決策を探しています。
URL がそのようなものであれば問題ありません: http://www.grindzmyreels.com/wp-content/uploads/2013/02/minion.jpg
しかし、この場合、エラーが発生します: http://grindzmyreels.com/wp-content/uploads/2013/02/minion.jpg
コードは次のとおりです。
public void DownloadImage()
{
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
Bitmap bmp = null;
try{
httpResponse = client.execute(new HttpGet("http://www.grindzmyreels.com/wp-content/uploads/2013/02/minion.jpg"));
//int responseCode = httpResponse.getStatusLine().getStatusCode();
HttpEntity entity = httpResponse.getEntity();
if (entity != null)
{
InputStream in = entity.getContent();
bmp = BitmapFactory.decodeStream(in);
in.close();
String Path = bmp.toString();
Context context = getApplicationContext();
File mydir = context.getDir("MyFolder", Context.MODE_PRIVATE); //Creating an internal dir;
File fileWithinMyDir = new File(mydir, Path ); //Getting a file within the dir.
FileOutputStream out = new FileOutputStream(fileWithinMyDir);
out.close();
extStorageDirectory = Environment.getExternalStorageDirectory().toString();
OutputStream outStream = null;
File file = new File(extStorageDirectory, Name+".PNG");
outStream = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 100, outStream);
filePath = file.toString();
outStream.flush();
outStream.close();
}
}
catch (ClientProtocolException e)
{
client.getConnectionManager().shutdown();
e.printStackTrace();
}
catch (IOException e)
{
client.getConnectionManager().shutdown();
e.printStackTrace();
}
}
どうもありがとう。