Convertir une image en Base64String ou arriver a instancier SystemDrawing.Image avec FromStream(stream)
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 :
Code:
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 |
J'ai eu beau retourner le problème dans tous les sens que j'ai pu, je ne suis parvenue à aucune solution :(
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 :
Code:
1 2 3 4 5
|
private string GetImage(byte[] bytes)
{
return "data:image/jpg;base64," + Convert.ToBase64String(bytes);
} |
Du coup avec cette méthode je fais ceci :
Code:
1 2 3 4
|
System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
image.ImageUrl = GetImage(MonTableauDeBytes); |
Ici le problème c'est que get image me renvois : "data:image/jpg;base64,AAAAAAAAAAAAAAAAAAAA...etc"
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 :)