Pb lors de la récupération d'1 image de sql server avec asp.net/c#

salimhamidi Messages postés 1 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 17 août 2005 - 17 août 2005 à 09:57
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 17 août 2005 à 10:40
salut à tous, je vous remercie de votre contribution au site et de votre coup de pouce à ceux qui en ont besoin.
C'est ma première intervention dans ce site et elle commence malheureusement par une question.
Voilà j'ai réussit à insérer une image dans une base sql server d'après un formulaire asp.net/c# et lorsque j'essaye de récupérer l'image de cette base avec le code que j'ai trouvé dans la plus part des solutions proposées sur le web dont voici le contenu :


MemoryStream stream =
new MemoryStream ();


SqlConnection connection =
new SqlConnection (@"...");



try {


connection.Open ();


SqlCommand command =
new SqlCommand ("...", connection);



byte[] image = (
byte[]) command.ExecuteScalar ();





stream.Write (image, 0, image.Length);
Bitmap bitmap =
null;


Response.ContentType = "image/gif";


bitmap =
new Bitmap (stream);


bitmap.Save (Response.OutputStream, ImageFormat.Gif); }



finally {


connection.Close ();


stream.Close (); }


}

aucune erreur n'est affichée lors de la compilation mais lorsque la page est exécutée voici l'erreur qui s'affiche :

Détails de l'exception: System.ArgumentException: Paramètre non valide utilisé.

bitmap = new Bitmap (stream);

Ce qui est sûre c que j'ai récupéré la chaine de byte correspondant à l'image c'est à dire que l'image existe vraiment.
j'ai beau à comprendre l'erreur j'ai pas trouvé. Si quelqu'un peut m'aider ça ne sera pas de refus ou bien si il ya une autre façon de faire (code différent) l'important et que ça marche et que je récupére l'image dans base (et non son d'url).

merci d'avance

1 réponse

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
17 août 2005 à 10:40
regarde ici : http://www.aspfr.com/code.aspx?ID=32582

je l'ai fait :) mais tu n'as pas besoin d'initialiser un objet bitmap, mais juste d'ecrire le stream dans la page, et de mettre le bon contenttype

Response.BinaryWrite(oFichier.FileByte) <samp>'on ecrit le fichier</samp>
Si tu veux initialiser une image (pour ecrire dessus par exemple) jhe l'ai fait dans le fichier upload.aspx

'' Exemple pour montrer comment certifier que l'image est un jpg valide etc...
'Try
' Dim img As Image = Image.FromStream(file1.PostedFile.InputStream)
' If Not (img.RawFormat.Equals(Imaging.ImageFormat.Jpeg)) Then
' litResult.Text = "Le fichier n'est pas une image JPEG valide"
' Exit Sub
' End If

<hr> Cyril - MCP ASP.net
Webmaster de : Hoshimi.CodeS-SourceS.fr
0
Rejoignez-nous