Bonjour;
Je voulais afficher une photo stockée dans une base de donnée sqlserver en format binaire, mais quand je veux afficher l'image dans un datagrid l'image n'apparait pas.
Merci.![]()
Bonjour;
Je voulais afficher une photo stockée dans une base de donnée sqlserver en format binaire, mais quand je veux afficher l'image dans un datagrid l'image n'apparait pas.
Merci.![]()
Bonjour,
Une petite recherche Google avec les mots clés "asp.net store binary image database" te renvoie à de nombreux tutos pour stocker une image dans une base puis l'afficher depuis celle-ci.
Ensuite il te faut étendre cela à plusieurs images au sein d'une grid, mais le principe reste le même.
Si tu rencontres un problème n'hésite pas à revenir poster le code en question.
En espérant t'avoir aidé.
Bonjour,
Aprés avoir vu quelques tutos j'ai fais un essai mais ça marche toujours pas
PS:Il faut convertir la photo stockée dans la BD sous format binaire en image gif ou jpeg, j'éspere avoir une réponse correcte . Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Imports System.Data.SqlClient Partial Public Class _Default Inherits System.Web.UI.Page Dim cn As New SqlConnection("Data Source=PC-DE-AJ\AJ;Initial Catalog=site;Integrated Security=True") Dim cmd As New SqlCommand Dim lect As SqlDataReader Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try cn.Open() cmd = cn.CreateCommand cmd.CommandText = String.Format("SELECT Photo from Article", cn) lect = cmd.ExecuteReader While lect.Read Response.ContentType = "image/gif" Response.BinaryWrite(lect(0)("Photo")) End While lect.Close() Catch ex As Exception Finally cn.Close() End Try End Sub
"ça marche toujours pas" n'est pas vraiment un message d'erreur repertorié.
Une exception est elle levée ?
Accessoirement, dans ton premier poste tu parles d'affichage dans un data grid, et dans ton bout de code tu renvoi le flux binaire dans la réponse (on ne voit pas bien pourquoi).
Je veux afficher mon image dans n'importe quel controle, car le principe reste le même, le plus important c'est l'affichage de l'image.
Pour revenir à l'erreur, j'ai pas exactement une erreur précise mais quand je fais responce.write(lect(0)), je vois s'afficher System.byte[] à la place de la photo dans le navigateur.
Voila.
Là tu essayes directement d'écrire dans la page le contenu binaire de ce que tu as récupéré de ta base ?
AMHA, il serait sûrement mieux de charger le contenu binaire récupéré de ta bd dans un Stream et de construire ton image depuis ce stream.
Merci pour ta réponse, j'ai essayé de construire une image de puis un stream mais l'image ne s'affiche pas voici mon code:
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Dim cn As New SqlConnection("Data Source=PC-DE-AJ\AJ;Initial Catalog=site;Integrated Security=True") Dim cmd As New SqlCommand Dim ByteArray() As Byte Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim newImage As Image Try cn.Open() cmd.CommandText = String.Format("SELECT Photo from Article where Ref='7'", cn) ByteArray = cmd.ExecuteScalar Dim stream As New MemoryStream(ByteArray, 0, ByteArray.Length) newImage = Image.FromStream(stream, True) Response.Write("<table><tr><td> " & newImage & "</td></tr></table>") Catch ex As Exception Finally cn.Close() End Try
Partager