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 :

Ouverture fichier word


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 20
    Points
    20
    Par défaut Ouverture fichier word
    Voila, j'utilise une base de données MySQL ou je stocke mes fichiers dans un champ de type BLOB. Je stocke également le type mine dans un champ.

    J'utilise une servlet pour afficher mes fichier dans le navigateur.
    Code de ma servlet :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    Blob myblob=null;
    String name=null;
    ResultSet resultat=null;
    Statement statement=null;
    try{
    //lien vers la base de données
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost/testjava","root",null);
    statement= connection.createStatement();
    //préparation de l'instruction SQL
    String sql = "SELECT * FROM fichier WHERE id_doc ="+id+"";
    resultat = statement.executeQuery(sql);
     
    //récupération de l'image (BLOB)
     
    while(resultat.next()) {
    myblob = resultat.getBlob("content_doc");
     name = resultat.getString("nom_doc");
    }
    }
    	catch(Exception e){
    	e.printStackTrace();}
     
    BufferedInputStream bis =null;
    BufferedOutputStream bos = null;
     
    try{InputStream streamDuBlob = myblob.getBinaryStream();
     
    	bis = new BufferedInputStream(streamDuBlob);
    	bos = new BufferedOutputStream(res.getOutputStream());
    }
    catch(Exception e){
    e.printStackTrace();}
     
    byte[] input = new byte[1024];
    boolean eof = false;
    while (!eof) {
    int length = bis.read(input);
    if (length == -1) {eof = true;}
    else {bos.write(input, 0, length);}
    }
    bos.flush();
    Seuls les fichiers images, pdf ou texte souvre correctemnt.Les fichiers de type word ou exel ne souvre pas correctement. En fait je ne sais pas ou intégrer le type mine dans la servlet (ici je ne l'utilise pas).

  2. #2
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Essaye un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res.setContentType("xxx");

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    Tu est magique !!!!!!!!!!

    Petite autre question : je ne suis pas très douer en java, je découvre ...

    Quand je télécharge le fichier il me l'enregistre (ou l'ouvre) avec le nom de la servlet, peut on intégrer le nom du fichier contenu dans ma base ? et ou dans le code?

  4. #4
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    res.setHeader("Content-Disposition","inline; filename=monFichier.doc;");

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 27
    Points : 20
    Points
    20
    Par défaut
    parfait. Un grand merci.

  6. #6
    Membre confirmé
    Avatar de link256
    Profil pro
    Développeur Java
    Inscrit en
    Février 2003
    Messages
    596
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2003
    Messages : 596
    Points : 642
    Points
    642
    Par défaut
    que faire quand ie se fou de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res.setHeader("Content-Disposition","inline; filename=monFichier.doc;");
    à savoir pour le pdf et jpg notament il n'en tien pas compte alors que oui pour du word ou du excel.

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

Discussions similaires

  1. Ouverture Fichier Word publipostage
    Par missd12 dans le forum VBA Access
    Réponses: 0
    Dernier message: 10/06/2008, 14h59
  2. [HTML] Ouverture fichier word ou excel dans une iframe
    Par bobby77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/02/2008, 21h02
  3. [VBA-E] ouverture fichier word
    Par mulanzia2003 dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 25/05/2006, 11h38
  4. Conseil et code ouverture fichier word...
    Par Angeldu74 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/04/2006, 09h37
  5. [VBA-A]ouverture fichier word
    Par drangip dans le forum VBA Word
    Réponses: 2
    Dernier message: 25/02/2006, 13h44

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