IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

setContentType pas tres efficace


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 96
    Points
    96
    Par défaut setContentType pas tres efficace
    Bonjour,

    Voila mon prob: Ma servlet propose au telechargement 2 types de fichiers, doit doc soit pdf.
    donc je fais un test a partir du nom du fichier, et a partir de l'extention, je met soit response.setContentType("application/pdf"); soit response.setContentType("application/msword");

    Le prob est que ca marche mal. Il prends que le premier que se presente, ou me propose un octe stream.

    J'ai essaye de mettre en msword des le debut, pis apres si il s'avere que c un pdf, je reattribu une response.setContentType("application/pdf"); mais la il me propose un toujours word.

    Ya-t-il des regles particulieres ?

    voila une partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
            HttpSession session = request.getSession();      
     
            String type = request.getParameter("file"); 
            response.setHeader("cache-control", "no-cache");
            response.setContentType("application/msword");   
     
            byte[] file = (byte[]) session.getAttribute("cvfile");
            response.setContentLength(file.length);
            response.getOutputStream().write(file);
            String filename = (String) session.getAttribute("cvfilename");
     
                if(filename.split("\\.")[1].equals("pdf")){
                     response.setContentType("application/pdf");   
                } else {
     
                     response.setContentType("application/msword");   
     
     
                response.setHeader("Content-Disposition","attachment;filename="+filename+";");
    D'ailleurs attribuer le nom du fichier ne marche pas non plus

  2. #2
    Membre éclairé Avatar de rberthou
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 612
    Points : 690
    Points
    690
    Par défaut
    Je prefere cela comme code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
            HttpSession session = request.getSession();      
     
            String type = request.getParameter("file"); 
            byte[] file = (byte[]) session.getAttribute("cvfile");
            String filename = (String) session.getAttribute("cvfilename");
     
            response.setHeader("cache-control", "no-cache");
            response.setHeader("Content-Disposition",
                                        "attachment;filename="+filename+";");
     
            if(filename.split("\\.")[1].equals("pdf"))
                response.setContentType("application/pdf");   
            else 
                response.setContentType("application/msword");   
     
     
            response.setContentLength(file.length);
            response.getOutputStream().write(file);
    car je ne pense pas que le "setContentType" fonctionne correctement si tu as deja tout envoyé

  3. #3
    Membre régulier
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2004
    Messages : 201
    Points : 96
    Points
    96
    Par défaut
    Genial ca marche

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Listage des Webcams pas tres efficace..
    Par Flow_75 dans le forum Visual C++
    Réponses: 5
    Dernier message: 06/07/2007, 23h58
  2. probl avec swing, tuto pas tres clair
    Par Marc_3 dans le forum AWT/Swing
    Réponses: 13
    Dernier message: 24/03/2006, 16h51
  3. [PhpMyVisites] Réinitialiser les stats / Ne pas être compté
    Par mastercartman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 18/03/2006, 22h25
  4. un fichier qui ne veut pas être supprimé!!!!
    Par en_stage dans le forum Autres Logiciels
    Réponses: 4
    Dernier message: 22/10/2005, 02h08
  5. Réponses: 6
    Dernier message: 03/09/2003, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo