2013-08-11 1 views
0

Je récupère des messages de Facebook, je veux enregistrer des données dans la base de données, mais pour les images et les photos, je dois les télécharger mais j'ai besoin de déterminer l'extension de l'image mais le splitting n'est pas utile. . Y a-t-il un moyen de déterminer l'extension?Comment vérifier l'extension de l'image sur Android?

Mon code:

public static String DownLoadFile(String netUrl, String savePath, String name, String ext) { 
     try { 
      URL url = new URL(netUrl); 
      File file = new File(savePath, name + "." + ext); 

    /* Open a connection to that URL. */ 
     URLConnection ucon = url.openConnection(); 

     InputStream is = ucon.getInputStream(); 

     BufferedInputStream bis = new BufferedInputStream(is); 
     long startTime = System.currentTimeMillis(); 
     Log.d("DownloadManager", "download begining"); 
     Log.d("DownloadManager", "downloaded file name:" + name); 


     ByteArrayBuffer baf = new ByteArrayBuffer(5000); 
     int current = 0; 
     while ((current = bis.read()) != -1) { 
      baf.append((byte) current); 
     } 


      /* Convert the Bytes read to a String. */ 
     FileOutputStream fos = new FileOutputStream(file); 
     fos.write(baf.toByteArray()); 
     fos.flush(); 
     fos.close(); 
     Log.d("DownloadManager", "download ready in" + ((System.currentTimeMillis() - startTime)/1000) + " sec"); 

     return file.getAbsolutePath(); 


    } catch (Exception exx) { 
     if (exx.getMessage() != null) { 

      Log.w(Error_Tag, "Err3 = " + exx.getMessage()); 
     } else { 
      Log.w(Error_Tag, "Err3 = " + exx.getMessage()); 

     } 

    } 

    return null; 
} 
+0

Je vois le problème concernant split, mais ne pourriez-vous pas simplement extraire comme les 5-10 derniers caractères de votre lien et les séparer? –

Répondre

1

MimeTypeMap.getFileExtensionFromUrl est ce que vous recherchez.

+0

thnx.Mais si je veux enregistrer l'image par son id comment puis-je l'obtenir à partir de l'URL. –

+0

Une façon consiste à utiliser la méthode ([getPath] (http://developer.android.com/reference/java/net/URL.html#getPath())) à partir de laquelle vous pouvez obtenir le nom du fichier. – Rajesh

+0

mais quand je cours le code il donne cette erreur: ouvrir a échoué: ENOENT (aucun tel dossier ou répertoire) .i a ajouté l'autorisation d'écriture sur le stockage externe –

Questions connexes