Récupérer image d'un blob + affichage => contient des erreurs
Bonjour,
J'ai fait mes recherches mais je n'ai rien trouvé... mon problème est le suivant :
Je stocke une image(.png) en BDD et j'essaie de l'afficher via une servlet via l'url :
Code:
http://localhost:8080/webservices/getDataFromBlob.jsp?id=5
Le code de mon webservice est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
[...]
long idMediaBlob = (Long.parseLong(request.getParameter("id")));
mediaBlob = MediaBlobManager.getById(idMediaBlob);
if(mediaBlob != null){
try {
Blob blob = mediaBlob.getMediaBlob();
byte[] imgData = blob.getBytes(1,(int)blob.length());
// display the image
if (imgData != null) {
response.reset();
response.setContentType("image/png");
OutputStream o = response.getOutputStream();
o.write(imgData);
o.flush();
o.close();
}
} catch(Exception ex){
Constantes.logger.info("Error retreiving media");
} |
et mon problème est le suivant : quand je lance l'url pour afficher mon image j'ai le message suivant :
Code:
L'image http://localhost:8080/webservices/getDataFromBlob.jsp?id=5 ne peut être affichée car elle contient des erreurs.
Pour info, l'imgData est correctement renseignée et cela ne produit aucune erreur. L'image ne s'affiche pas et je pense à un problème xml (encodage de caractères...je suis en utf8)... car si j'enlève le
Code:
1 2 3
| response.reset();
response.setContentType("image/png"); |
j'ai l'erreur suivante qui s'affiche :
Code:
1 2 3 4
| Erreur d'analyse XML : mal formé
Emplacement : http://localhost:8080/webservices/getDataFromBlob.jsp?id=5
Numéro de ligne 1, Colonne 1 :�PNG
^ |
Merci de votre aide !!!!!