Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2649 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème Ajax d'ouverture d'un fichier en attachement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème Ajax d'ouverture d'un fichier en attachement

n°1816554
Kadaj
Posté le 25-11-2008 à 17:36:09  profilanswer
 

Bonjour à tous!
Je développe actuellement une servlet qui est interfacée à une base de données SQL. Le but est d'extraire des données de la base pour caculer des indices, transmis ensuite à l'utilisateur via un fichier XLS.
Tout est OK pour la partie interaction entre la servlet et la base SQL.
Le problème provient lors de l'envoi du fichier réponse à l'utilisateur. Sa création se fait de la manière suivante dans le code Java :
 
Si j'accède directement à la méthode en tapant dans mon navigateur :
http://localhost:8080/MaServlet?method=getIndicators
La boîte de téléchargement s'ouvre et je peux enregistrer mon fichier normalement. Cependant, l'accès à cette méthode se fait après avoir rempli un formulaire dans une page Javascript afin de déterminer les infos que l'utilisateur désire. Une fois le formulaire rempli, une requête Ajax est créée et envoyée à ma servlet  
 

Code :
  1. if (method.equals(\"getIndicators\" )) {
  2.    
  3. //Type de la réponse
  4. response.setHeader(\"Expires\", \"0\" );
  5. response.setHeader(\"Cache-Control\", \"must-revalidate, post-check=0, pre-check=0\" );
  6. response.setHeader(\"Pragma\", \"public\" );
  7. response.setContentType(\"application/vnd.ms-excel\" );
  8. response.setHeader(\"Content-Disposition\",\"attachment; filename = reporting.xls\" );
  9.    
  10. //Ecriture de la reponse
  11. String test = \"indice t valeur t note n\";
  12. OutputStream os = response.getOutputStream();
  13. OutputStreamWriter osw = new OutputStreamWriter(os);
  14.    
  15. osw.write(test);
  16. osw.flush();


 
La servlet reçoit bien la requête, le traitement s'effectue sans erreur, et la réponse est envoyée à l'utilisateur. Cependant, pas de boîte de téléchargement, je ne peux pas accéder au fichier. Il est pourtant bel et bien présent puisqu'en vérifiant les headers de la requête, ceux-ci correspondent bien à ce que j'ai déclaré dans ma servlet. Le contenu du fichier peut même être affiché à l'aide de  
http_request.responseText.
 

Code :
  1. http_request.onreadystatechange = RegisterUser;
  2. http_request.open(\"POST\", \"/Servlet/SeinooServlet\", true );
  3. http_request.setRequestHeader(\"Content-type\",\"application/x-www-form-urlencoded\" );
  4. http_request.setRequestHeader(\"Content-length\", parameters.length);
  5. http_request.setRequestHeader(\"Connection\", \"close\" );
  6. http_request.send(parameters);


 
Ma question est donc la suivante : est-il possible de forcer la page Javascript à m'ouvrir mon fichier situé en attachment et donc à m'afficher la boîte de dialogue de téléchargement?
 
Merci d'avance et désolé pour la longueur du texte :jap:


Message édité par Kadaj le 25-11-2008 à 17:49:30
mood
Publicité
Posté le 25-11-2008 à 17:36:09  profilanswer
 

n°1816889
Kadaj
Posté le 26-11-2008 à 11:05:40  profilanswer
 

Aurais je un peu plus de chance en postant dans la partie Java?

n°1816900
gatsu35
Blablaté par Harko
Posté le 26-11-2008 à 11:29:18  profilanswer
 

normal faut pas faire de requete "ajax", mais directement balancer le formulaire en mode post, comme tu retournes un fichier de type autre  que HTML/ou type que le navigateur t'ouvre, il ouvre dans ce cas automatiquement la boite de téléchargement

n°1816934
Kadaj
Posté le 26-11-2008 à 12:11:17  profilanswer
 

Je vais tester ça, merci :jap:

n°1816977
Kadaj
Posté le 26-11-2008 à 13:33:50  profilanswer
 

Nickel ça marche.
Merci beaucoup!


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Problème Ajax d'ouverture d'un fichier en attachement

 

Sujets relatifs
[C] Problème de lecture dans un fichier en C : fscanfProblème API itext
Telechargement fichier distantProblème avec la fonction Vlookup [VBA Excel]
Editer le registre dans un fichier batOpenGL - Problème avec lissage
[optimisation] fichier txt -> insert base de donnéeCréer un fichier jpg depuis un plot => installer un nouveau module ?
[AJAX] Mettre à jour la 3e liste déroulante en même temps que la 2e 
Plus de sujets relatifs à : Problème Ajax d'ouverture d'un fichier en attachement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR