-1

J'ai essayé de nombreuses façons comme l'utilisation de la tâche asynchrone et Gestionnaire de téléchargement par défaut, mais, j'ai fini par télécharger un fichier (je crois qu'il est en train de télécharger le fichier .php au lieu du fichier requireddownload.pdf), ce qui n'est pas le fichier requis. Cependant, le nom et l'extension du fichier téléchargé est le requrieddownload.pdf.Comment télécharger un fichier pdf à partir d'un site Web alimenté php avec l'URL de genre http://myurl.com/file.php/...../requireddownload.pdf

Merci d'avance.

Répondre

0

Première étape déclarant persmissions dans AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 

Créer une classe téléchargeur

public class Downloader { 

    public static void DownloadFile(String fileURL, File directory) { 
     try { 

      FileOutputStream f = new FileOutputStream(directory); 
      URL u = new URL(fileURL); 
      HttpURLConnection c = (HttpURLConnection) u.openConnection(); 
      c.setRequestMethod("GET"); 
      c.setDoOutput(true); 
      c.connect(); 

      InputStream in = c.getInputStream(); 

      byte[] buffer = new byte[1024]; 
      int len1 = 0; 
      while ((len1 = in.read(buffer)) > 0) { 
       f.write(buffer, 0, len1); 
      } 
      f.close(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 
} 

Enfin la création d'une activité qui télécharge le fichier PDF à partir d'Internet,

public class PDFFromServerActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     String extStorageDirectory = Environment.getExternalStorageDirectory() 
     .toString(); 
     File folder = new File(extStorageDirectory, "pdf"); 
     folder.mkdir(); 
     File file = new File(folder, "Read.pdf"); 
     try { 
      file.createNewFile(); 
     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 
     Downloader.DownloadFile("http://www.nmu.ac.in/ejournals/aspx/courselist.pdf", file); 

     showPdf(); 
    } 
    public void showPdf() 
     { 
      File file = new File(Environment.getExternalStorageDirectory()+"/pdf/Read.pdf"); 
      PackageManager packageManager = getPackageManager(); 
      Intent testIntent = new Intent(Intent.ACTION_VIEW); 
      testIntent.setType("application/pdf"); 
      List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY); 
      Intent intent = new Intent(); 
      intent.setAction(Intent.ACTION_VIEW); 
      Uri uri = Uri.fromFile(file); 
      intent.setDataAndType(uri, "application/pdf"); 
      startActivity(intent); 
     } 
}