0

我正在尝试从 URL 下载图像。我面临的问题是,如果 URL 没有 www,那么我会收到错误,但如果我添加 www,它就可以正常工作。我从 web 服务获取这些 URL 有可能有些有 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();
           }   

       }

非常感谢。

4

2 回答 2

1

检查 URL 以查看它是否包含 www。如果没有,那么您可以将其添加到字符串中。替换http://http://www.将是一种简单的方法。

这是一个例子

String URL = "http://grindzmyreels.com/wp-content/uploads/2013/02/minion.jpg";

//if URL doesnt contain www. then add it after the http://
if(!URL.contains("www.")) URL.replace("http://", "http://www.");
于 2013-06-14T09:57:07.067 回答
0

如果您从 Web 服务获取 URL,则使用检查 URL 是否具有 www。如果没有,则添加它。

于 2013-06-14T09:51:52.953 回答