INSERTION / RECUPERATION D'IMAGE STOCKEE DANS UNE DB MS SQL SERVER 2000

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 - 8 nov. 2006 à 03:46
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 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.

https://codes-sources.commentcamarche.net/source/40222-insertion-recuperation-d-image-stockee-dans-une-db-ms-sql-server-2000

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
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

Response.ContentType = Mime
Response.BinaryWrite(ImageBuffer)
Response.End()
%>
jellalimounir Messages postés 19 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 23 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és 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
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és 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
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és 19 Date d'inscription mardi 27 février 2007 Statut Membre Dernière intervention 23 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és 37 Date d'inscription lundi 7 août 2006 Statut Membre Dernière intervention 25 février 2010
16 mars 2007 à 22:31
il n y a pas des problemes de securité ?!!!
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
5 déc. 2006 à 10:12
Salut salut,

Oui c'est du net 1.1

Christophe
Un bouillonnais
spidermario Messages postés 121 Date d'inscription mercredi 26 octobre 2005 Statut Membre Dernière intervention 14 mars 2009 1
4 déc. 2006 à 17:54
C'est une source .Net, ça, non ?
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
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és 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
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és 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
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és 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
8 nov. 2006 à 03:46
Salut

Petite question :
Pourquoi mettre un paramettre de retour et utiliser ExecuteScalare ?
Rejoignez-nous