Se connecter avec
S'enregistrer | Connectez-vous

recuperer fichier a partir d'une requete http

Dernière réponse : dans Programmation

bonjour,
alors je vous expose mon probleme :

j'ai une methode en java ou je recupere une url sous forme de String et je veux recuperer le fichierqui s'ouvre en ouvrant l'url (juste comme exemple):

  1. String url0 ="<a href="http://aune.lpl.univ-aix.fr/lpl/ressources/techinfo/creation-pdf.pdf" target="_blank">http://aune.lpl.univ-aix.fr/lpl/ressources/techinfo/cre...</a>";
  2.  
  3. URL url=new URL(url0);


et donc je veux recuperer le fichier PDF associé.
Si vous avez des idees ...
merci.
emma
Lassé par la pub ? Créez un compte

je n'ai trouver aucune methode getStream pour URL et ça ne me le reconnait pas dans mon code (ou alors je n'ai pas su l'utilisé).
j'ai trouvé une methode qui NORMALEMENT récupere le fichier a partir d'une URL mais ça ne fonctionne pas chez moi :
  1. public void getFile(URL u) throws IOException {
  2. URLConnection uc = u.openConnection();
  3. String FileType = uc.getContentType();
  4. System.out.println("nom du fichier := "+u.getFile());
  5. System.out.println("fichier:= "+FileType);
  6. int FileLenght = uc.getContentLength();
  7. System.out.println("taille fichier:= "+FileLenght);
  8. if (FileLenght == -1) {
  9. throw new IOException("Fichier non valide.");
  10. }
  11. InputStream in = uc.getInputStream();
  12. String FileName = u.getFile();
  13. FileName = FileName.substring(FileName.lastIndexOf('/') + 1);
  14. FileOutputStream WritenFile = new FileOutputStream(FileName);
  15. byte[]buff = new byte[1024];
  16. int l = in.read(buff);
  17. while(l>0)
  18. {
  19. WritenFile.write(buff, 0, l);
  20. l = in.read(buff);
  21. }
  22. WritenFile.flush();
  23. WritenFile.close();
  24. }


et la je n'arrive pas a voir ce qui ne va pas (enfin je crois qu'il prend le mauvais fichier puisque dans tous mes exemples, il dit que le fichier est null FileLenght == -1, donc je ne sais pas vraiment ce qu'il fait ???

bon ben , la methode est correcte, si j'utilise une adresse interne, le fichier est bien telechargé, c'est un probleme de proxy, mais je ne sais pas dutout comment m'y prendre ni quoi rajouter dans mon code.
Merci,
Emma.
Lassé par la pub ? Créez un compte