Bonjour à tous !
Je souhaiterai transformer un tableau de byte en image.
Sur le net j'ai trouver 2 solutions et biensur si je suis là c'est que ces 2 solutions ne fonctionne pas chez moi ! Alors oui je l'avoue je suis débutant et je suis très certainement passé à côté de quelque chose de plus ou moins évident et peut être que vous allez m'aider à corriger cela
Pour la première solution :
Il s'agit d'instancier un MemoryStream puis d'instancier une image de type System.Drawing.Image comme ceci :
J'ai eu beau retourner le problème dans tous les sens que j'ai pu, je ne suis parvenue à aucune solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 MemoryStream ms = new MemoryStream(MonTableauDeBytes,0,MonTableauDeBytes.Length); System.Drawing.Image img = System.Drawing.Image.FromStream(MonTableauDeBytes) // C'est ici que ce produit l'erreur : Paramètre non valide
Pour la deuxième solution :
Il s'agit d'instancier une image de type System.Web.UI.WebControls.Image. Mais cet objet réclame une Url donc sur le net j'ai trouver cette méthode pour transformer un tableau de byte en Url :
Du coup avec cette méthode je fais ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private string GetImage(byte[] bytes) { return "data:image/jpg;base64," + Convert.ToBase64String(bytes); }
Ici le problème c'est que get image me renvois : "data:image/jpg;base64,AAAAAAAAAAAAAAAAAAAA...etc"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image(); image.ImageUrl = GetImage(MonTableauDeBytes);
Il me semble que cela représente une erreur et d'ailleurs l'image n'affiche rien sinon une croix.
Voilà j'arrive au bout des solutions et reste bloqué pour l'instant, si quelqu'un à un solution qui marche qu'il n'hésite pas !
merci par avance déjà de m'avoir lu
Partager