INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL SERVER 2000
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 2013
-
8 nov. 2006 à 03:46
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 2013
-
3 avril 2007 à 11:01
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 3 avril 2007 à 11:01
Si tu veux un .Net2 ca donne ca :
<%@ Page Language="VB" buffer="true" %>
<%
Response.Clear()
Dim ImageBuffer As Byte()
Dim Mime As String
Dim IDImage As Integer = 0
If Not Integer.TryParse(Request("IDImage"), IDImage) Then
Response.StatusCode = 500
Response.StatusDescription = "IDImage Incorrect ou non fourni."
End If
'Récupération de MimeType et du
'code binaire de l'image dans
'les variables respective
'Graceau paramêtre IDImage
jellalimounir
Messages postés19Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention23 janvier 2009 2 avril 2007 à 18:29
merci, mais ma page est .aspx et il n y a pas de type mime
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 31 mars 2007 à 03:37
Pour ce qui est du problème de sécurité, et bien c'est justement un autre problème!
Mais en combinant cette source avec d'autre traitant de sécurité, on doit pouvoir ce faitre un truc pas mal!
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 31 mars 2007 à 03:35
Le plus simple a mon gout :
1-tu créé une page ASP
2-Dans le type Mime tu met "image/jpeg"(ou autre selon le type d'image)
3-tu récupère le binaire de l'image dans un buffer et tu le transmet au navigateur
ex :
Response.MimeType="image/jpeg"
'Récupération de l'image voulue dans BuffImage
Response.BinaryWrite(BuffImage)
Response.End()
Bon je pas le nom de toutes les fonction en tête donc t'attend pas a se que le code marche (mais alors vraiment pas!!!) mais c'est la démarche a suivre
ce qu'il faut retenir c'est que les navigateur ne tienne pas compte de l'extention du fichier(.aspx) mais du type mime pour gérér les contenus. La page peut prendre des param^tres commes toutes les pages asp(en URL ou en post), donc en passant en passant un ID tu peut renvoyedr la bonne image de la base de donnée. Enfin, il suffit de codé les autre page en fonction :
"/>
voilà j'espère que c'est clair je te laisse le soin de retrouvé toutes les bonne fonctions
PS: si tu as plusieurs type d'image, tu renseigne un champ avec le type mime dans la BDD et tu le met dinamiquement dans la reponse.
veille a ne pas laissé d'espace,retour a la ligne ou autre en dehors des <% et %> sinon ils risque d'être transmit avec l'image et de la corrompre.
PPS: tu peut utilisé la même technique pour transféré d'autre chose que des image(doc PDF par exemple)
jellalimounir
Messages postés19Date d'inscriptionmardi 27 février 2007StatutMembreDernière intervention23 janvier 2009 30 mars 2007 à 15:13
salut,
comment récuperer l'image dans un controle asp , par exple le controle image
et merci d'avant
Chronolode
Messages postés37Date d'inscriptionlundi 7 août 2006StatutMembreDernière intervention25 février 2010 16 mars 2007 à 22:31
il n y a pas des problemes de securité ?!!!
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 5 déc. 2006 à 10:12
Salut salut,
Oui c'est du net 1.1
Christophe
Un bouillonnais
spidermario
Messages postés121Date d'inscriptionmercredi 26 octobre 2005StatutMembreDernière intervention14 mars 20091 4 déc. 2006 à 17:54
C'est une source .Net, ça, non ?
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 10 nov. 2006 à 08:36
salut salut Malkuth,
Je te remercie pour ces infos, je voye que tu as l'air de bien connaitre le developpement !Moi je debute dans le developpement..
N'aurais tu pas des articles ou des exemples sur comment realiser un setup d'installation !? Je prepare une source la dessus mais je suis en manque d'exemple concret!
Je te remercie
Christophe
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 9 nov. 2006 à 17:14
Normalement Execute Scalar revoi le premier champ du premier enregistrement de la premiére selection renvoyer,
J'ai siament attirer ton attention dessus parce que j'ai eu un problème il ya qq temps, je faisait un return 1; ou un return 0; a la fin d'une procédure stocké sur SQL serveur et au moment de récupérer la valeur de retour : Pas moyen de tomber dessus avec ExecuteScalar!!! Et ca me semblai tellement logique pourtant que j'ai mis un moment avant de comprendre que le problème venai pas de la procédure stocké mais de l'utilisation de ExecuteScalar.
En remplacant Return 1; ou Return 0; par SELECT 1;/SELECT 0; ca marchait nickel. Mais il ne faut pas renvoyer de selection avant...
Désormai je passe par les table adaptateur dans les dataset, plus je l'ai utilise plus je les trouve pratique (J'ai mis jusqu'a 25 Procédure stocké sur un seule table adaptateur, l'avantage c'est qu'on travaille directement avec une fonction qui gere les parametre out comme des byref et renvoi direct un DataTable, Le seul hic c'est quand on renvoi plusieur table depuis la procédure stocké.
Voilou A +
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 9 nov. 2006 à 16:37
salut salut Malkuth,
Mhhh oui tu as raison en fait executescalar() renvoit un parametre !
a essayer mais en ce moment je fais autre chose mais des que j'ai des news je dis quoi !
par contre si tu sais m'en dire plus n'hesites pas mec !
Bonne fin de semaine
Christophe
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 8 nov. 2006 à 03:46
Salut
Petite question :
Pourquoi mettre un paramettre de retour et utiliser ExecuteScalare ?
3 avril 2007 à 11:01
<%@ Page Language="VB" buffer="true" %>
<%
Response.Clear()
Dim ImageBuffer As Byte()
Dim Mime As String
Dim IDImage As Integer = 0
If Not Integer.TryParse(Request("IDImage"), IDImage) Then
Response.StatusCode = 500
Response.StatusDescription = "IDImage Incorrect ou non fourni."
End If
'Récupération de MimeType et du
'code binaire de l'image dans
'les variables respective
'Graceau paramêtre IDImage
Response.ContentType = Mime
Response.BinaryWrite(ImageBuffer)
Response.End()
%>
2 avril 2007 à 18:29
31 mars 2007 à 03:37
Mais en combinant cette source avec d'autre traitant de sécurité, on doit pouvoir ce faitre un truc pas mal!
31 mars 2007 à 03:35
1-tu créé une page ASP
2-Dans le type Mime tu met "image/jpeg"(ou autre selon le type d'image)
3-tu récupère le binaire de l'image dans un buffer et tu le transmet au navigateur
ex :
Response.MimeType="image/jpeg"
'Récupération de l'image voulue dans BuffImage
Response.BinaryWrite(BuffImage)
Response.End()
Bon je pas le nom de toutes les fonction en tête donc t'attend pas a se que le code marche (mais alors vraiment pas!!!) mais c'est la démarche a suivre
ce qu'il faut retenir c'est que les navigateur ne tienne pas compte de l'extention du fichier(.aspx) mais du type mime pour gérér les contenus. La page peut prendre des param^tres commes toutes les pages asp(en URL ou en post), donc en passant en passant un ID tu peut renvoyedr la bonne image de la base de donnée. Enfin, il suffit de codé les autre page en fonction :
"/>
voilà j'espère que c'est clair je te laisse le soin de retrouvé toutes les bonne fonctions
PS: si tu as plusieurs type d'image, tu renseigne un champ avec le type mime dans la BDD et tu le met dinamiquement dans la reponse.
veille a ne pas laissé d'espace,retour a la ligne ou autre en dehors des <% et %> sinon ils risque d'être transmit avec l'image et de la corrompre.
PPS: tu peut utilisé la même technique pour transféré d'autre chose que des image(doc PDF par exemple)
30 mars 2007 à 15:13
comment récuperer l'image dans un controle asp , par exple le controle image
et merci d'avant
16 mars 2007 à 22:31
5 déc. 2006 à 10:12
Oui c'est du net 1.1
Christophe
Un bouillonnais
4 déc. 2006 à 17:54
10 nov. 2006 à 08:36
Je te remercie pour ces infos, je voye que tu as l'air de bien connaitre le developpement !Moi je debute dans le developpement..
N'aurais tu pas des articles ou des exemples sur comment realiser un setup d'installation !? Je prepare une source la dessus mais je suis en manque d'exemple concret!
Je te remercie
Christophe
9 nov. 2006 à 17:14
J'ai siament attirer ton attention dessus parce que j'ai eu un problème il ya qq temps, je faisait un return 1; ou un return 0; a la fin d'une procédure stocké sur SQL serveur et au moment de récupérer la valeur de retour : Pas moyen de tomber dessus avec ExecuteScalar!!! Et ca me semblai tellement logique pourtant que j'ai mis un moment avant de comprendre que le problème venai pas de la procédure stocké mais de l'utilisation de ExecuteScalar.
En remplacant Return 1; ou Return 0; par SELECT 1;/SELECT 0; ca marchait nickel. Mais il ne faut pas renvoyer de selection avant...
Désormai je passe par les table adaptateur dans les dataset, plus je l'ai utilise plus je les trouve pratique (J'ai mis jusqu'a 25 Procédure stocké sur un seule table adaptateur, l'avantage c'est qu'on travaille directement avec une fonction qui gere les parametre out comme des byref et renvoi direct un DataTable, Le seul hic c'est quand on renvoi plusieur table depuis la procédure stocké.
Voilou A +
9 nov. 2006 à 16:37
Mhhh oui tu as raison en fait executescalar() renvoit un parametre !
a essayer mais en ce moment je fais autre chose mais des que j'ai des news je dis quoi !
par contre si tu sais m'en dire plus n'hesites pas mec !
Bonne fin de semaine
Christophe
8 nov. 2006 à 03:46
Petite question :
Pourquoi mettre un paramettre de retour et utiliser ExecuteScalare ?