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 :

Téléchargement office 2007 et + corrompu


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Par défaut Téléchargement office 2007 et + corrompu
    Bonjour,

    J'ai une servlet qui s'occupe du téléchargement des fichiers et qui marche très bien à l'exception des fichiers offices 2007 et +.

    Dès que je veux télécharger un fichier docx, xlsx etc ... le fichier est corrompu. En faisant une analyse des fichiers sources et destination il s'avère que le fichier téléchargé est incomplet.

    Voici le code qui s'occupe du téléchargement :
    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
     
                    File f = null;
    		ServletOutputStream out = reponse.getOutputStream();
    		reponse.setContentType("multipart/form-data");
    		String paramIdf = request.getParameter("Idf");
     
    		try {
     
    			BdSt0 = connexion.createStatement();
    			resultat = BdSt0.executeQuery(requete);
    			resultat.next();
    			lien = "test.xlsx" // normalement récupéré dans la base de données
    			f = new File(
    					"d:\\Tomcat\\webapps\\doc\\"
    							+ lien);
     
    			reponse.setHeader("Content-Disposition", "attachment;filename=\""
    					+ f.getName() + "\";");
    			byte[] tampon = new byte[4 * 1024];
    			FileInputStream in = new FileInputStream(f);
    			while (in.read(tampon) >= 0) {
    				out.write(tampon);
    			}
     
    			in.close();
     
    			connexion.close();
     
    		} catch (Exception sqlex) {
    			try {
    				connexion.close();
    			} catch (Exception e) {
    				System.out.println(e);
    			}
    		}
    Je ne comprend pas pourquoi ce code fonctionne très bien pour tous les autres fichiers et pas pour les docx, xlsx etc ... J'ai fait beaucoup de recherches sur internet qui n'ont rien données. J'ai aussi essayer d'ajouter la taille du fichier au header mais ça n'a rien donné non plus.

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2013
    Messages : 25
    Par défaut
    J'ai essayé à nouveau d'ajouter la taille et je ne sais pas pourquoi mais cette fois-ci ça fonctionne ...

    Si ça peut aider la ligne est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reponse.setContentLength((int)f.length());

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

Discussions similaires

  1. [Débat] Office 2007
    Par marabout dans le forum Microsoft Office
    Réponses: 32
    Dernier message: 20/01/2008, 01h48
  2. Microsoft licences office 2007 ribbon UI
    Par Issam dans le forum Windows
    Réponses: 1
    Dernier message: 28/11/2006, 09h25
  3. msdn et office 2007
    Par largowinch dans le forum Microsoft Office
    Réponses: 4
    Dernier message: 17/11/2006, 08h41
  4. Réponses: 8
    Dernier message: 04/10/2006, 10h00

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