Bonjour,
j'ai réussie de récupérer une image à partir d'une BdD Oracle à l'aide
et je veux que mon image sera transformé en jpeg et enregistré dans mon disque comme fichier jpeg.Code:byte[] image=(byte[])req["photo"];
Version imprimable
Bonjour,
j'ai réussie de récupérer une image à partir d'une BdD Oracle à l'aide
et je veux que mon image sera transformé en jpeg et enregistré dans mon disque comme fichier jpeg.Code:byte[] image=(byte[])req["photo"];
Création d'un flux en mémoire (MemoryStream) pour gérer le tableau d'octets.
Ensuite création d'un objet Image à partir du flux en mémoire (Image.FromStream).
Pour finir sauvegarde de l'image sur le disque (Image.Save).
Code:
1
2
3
4
5 byte[] image=(byte[])req["photo"]; MemoryStream ms = new MemoryStream(image); Bitmap bmp= new Bitmap(ms); bmp.Save(@"C:\fichier.jpg", ImageFormat.Jpeg);
Autant juste faire si c'est pour sauvegarder le fichier :
Code:
1
2
3
4
5 byte[] image=(byte[])req["photo"]; using(FileStream fs = File.Create(path)) { fs.Write(image, 0, image.Length); }
J'y ai pensé Kaidan, mais comme il parle de transformer l'image en jpeg, je me dis qu'à la base les données ne sont pas forcément celles d'une image au format jpeg.
Mais bon, il devrait avoir sa réponse de toute façon ^^
Pour compléter le code fourni par deejay2221, en ajoutant la libération des ressources pour faire ça propre
Code:
1
2
3
4
5
6
7
8 byte[] image=(byte[])req["photo"]; using(MemoryStream ms = new MemoryStream(image)) { using(Bitmap bmp = new Bitmap(ms)) { bmp.Save(@"C:\fichier.jpg", ImageFormat.Jpeg); } }
Merci c résolu