Pb de création de fichier à partir d'un blob
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[]:
Code:
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()); |
Puis je parcours ce byte[] et je stocke le tout dans un fichier créé
Code:
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(); |
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!
Je ne comprend pas ce que j'ai fait de mal. Quelqu'un pourrait-il me donner un peu d'aide?
Merci d'avance