Bonjour,
Je travaille sur une appli java web avec Hibernate 2 et Struts.
Mon pb est que je dois créer des fichiers de tout type (pdf,word..) à partir de longblob stockés dans une base de données MySQL.
Avec Hibernate, je récupère le contenu de ce blob (content) sous la forme d'un String que je transforme en byte[]:
Puis je parcours ce byte[] et je stocke le tout dans un fichier créé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String content = table.getContent(); InputStream is = new ByteArrayInputStream(content.getBytes()); byte[] contentByte = new byte[8192]; FileOutputStream fos = new FileOutputStream(fichierATransferer+ "/"+table.getFilename());
J'arrive bien à créer mon fichier et à le remplir (ce dernier à la taille de ce qui est dans mon blob). Seulement si je l'ouvre, je n'obtiens que des jolis carrés!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int bytesRead = 0; while ((bytesRead = is.read(contentByte, 0, 8192)) != -1) { fos.write(contentByte, 0, bytesRead); } // On ferme les flux fos.close();
Je ne comprend pas ce que j'ai fait de mal. Quelqu'un pourrait-il me donner un peu d'aide?
Merci d'avance
Partager