Récupération d'une image à partir d'une base de données
24 réponses
Christelle
Bonjour
J'ai stock=E9 des images dans ma base de donn=E9es sql server.
J'arrive =E0 r=E9cup=E9rer l'image dans un variant de type Byte.=20
Mais je n'arrive pas =E0 l'afficher dans mon PictureBox.
> Seulement, y a-t-il tout de même une facon de ne pas passer par un fichier temporaire sur le disque? parce que ca peut réduire la performance de l'application si il y a plusieurs images à afficher.
Définitivement. C'est une des raisons pour laquelle il n'est pas conseillé de stocker une image dans une bd au lieu de son chemin d'accès. Tu éviterais ainsi au moins l'étape de la création de l'image sur le disque. :OP
> Seulement, y a-t-il tout de même une facon de ne pas passer par un fichier
temporaire sur le disque?
parce que ca peut réduire la performance de
l'application si il y a plusieurs images à afficher.
Définitivement.
C'est une des raisons pour laquelle il n'est pas conseillé de stocker une
image dans une bd au lieu de son chemin d'accès. Tu éviterais ainsi au moins
l'étape de la création de l'image sur le disque. :OP
> Seulement, y a-t-il tout de même une facon de ne pas passer par un fichier temporaire sur le disque? parce que ca peut réduire la performance de l'application si il y a plusieurs images à afficher.
Définitivement. C'est une des raisons pour laquelle il n'est pas conseillé de stocker une image dans une bd au lieu de son chemin d'accès. Tu éviterais ainsi au moins l'étape de la création de l'image sur le disque. :OP
> Est-ce que c'est moi ou c'est un peu "cheezy" comme solution...
très d'accord. :O)
> ASP et en PHP qui sont des languages scriptés donc moins évolués que VB, je > peux le faire en 1 seule passe et qu'en VB je ne peux pas...
je ne connais pas c'est language malheureusement, je ne donc pas comparer. :OP
en fait, je vais lire ma base de données et stock les bytes du jpg (qui est contenu dans le champ) dans une variable puis je fais ceci
en ASP: response.binarywrite(MaVarBinaire) en PHP: echo MaVarBinaire
Rien de plus facile et direct. c'est pour ca que je me disais qu'il y aurait probablement un moyen de passer directement par la mémoire pour faire ce genre d'opération, mais bon. Ce n'est pas si grave, la solution du fichier temporaire peut tenir la route un certain temps.
Merci
ThunderMusic
(voir plus bas)
"Zoury" <yanick_lefebvre@hotmail.com> wrote in message
news:uasFy7sMEHA.808@tk2msftngp13.phx.gbl...
> Est-ce que c'est moi ou c'est un peu "cheezy" comme solution...
très d'accord. :O)
> ASP et en PHP qui sont des languages scriptés donc moins évolués que VB,
je
> peux le faire en 1 seule passe et qu'en VB je ne peux pas...
je ne connais pas c'est language malheureusement, je ne donc pas comparer.
:OP
en fait, je vais lire ma base de données et stock les bytes du jpg (qui est
contenu dans le champ) dans une variable puis je fais ceci
en ASP: response.binarywrite(MaVarBinaire)
en PHP: echo MaVarBinaire
Rien de plus facile et direct. c'est pour ca que je me disais qu'il y
aurait probablement un moyen de passer directement par la mémoire pour faire
ce genre d'opération, mais bon. Ce n'est pas si grave, la solution du
fichier temporaire peut tenir la route un certain temps.
> Est-ce que c'est moi ou c'est un peu "cheezy" comme solution...
très d'accord. :O)
> ASP et en PHP qui sont des languages scriptés donc moins évolués que VB, je > peux le faire en 1 seule passe et qu'en VB je ne peux pas...
je ne connais pas c'est language malheureusement, je ne donc pas comparer. :OP
en fait, je vais lire ma base de données et stock les bytes du jpg (qui est contenu dans le champ) dans une variable puis je fais ceci
en ASP: response.binarywrite(MaVarBinaire) en PHP: echo MaVarBinaire
Rien de plus facile et direct. c'est pour ca que je me disais qu'il y aurait probablement un moyen de passer directement par la mémoire pour faire ce genre d'opération, mais bon. Ce n'est pas si grave, la solution du fichier temporaire peut tenir la route un certain temps.
Merci
ThunderMusic
Christophe
Bonjour à tous
Pour faire ce que vous voulez tous les deux il y a deux solutions soit stocker dans la BD le chemin de l'image et generer les images dans un module indépendant de la base, soit stcker le DIB (comme le disait zoury) dans la BD en dur (faut pas que les images soient grandes). Pour stocker le dib il suffit de stoccker le chanps du la structure Bibmiheader avec le type correspondant puis ensuite stocker deux tableaux de bytes : bmicolors un tableau de RGBQuad et la matrice de pixels. J'ajouterais une remarque si l'image est petite il peut etre très intéressant de typer les images dans la base , une table de type image : 256 couleurs , 24 bits , noir et blanc etc ce qui permet de définir la table des différents type de bmiheader, ensuite un lien 1 à plusieurs sur la table image qui contient un array de bytes (appenchuck) et le bmiwith as long et bmiheight as long Ceci marche avec la restriction d'voir la même table de couleur pour les 256.
Christophe Vergon
"Christelle" a écrit dans le message de news: 87de01c43270$198cf290$ Bonjour
J'ai stocké des images dans ma base de données sql server. J'arrive à récupérer l'image dans un variant de type Byte. Mais je n'arrive pas à l'afficher dans mon PictureBox.
Pouvez-vous m'aider ?
Merci d'avance pour votre aide
Christelle
Bonjour à tous
Pour faire ce que vous voulez tous les deux il y a deux solutions soit
stocker dans la BD le chemin de l'image et generer les images dans un module
indépendant de la base, soit stcker le DIB (comme le disait zoury) dans la
BD en dur (faut pas que les images soient grandes).
Pour stocker le dib il suffit de stoccker le chanps du la structure
Bibmiheader avec le type correspondant puis ensuite stocker deux tableaux de
bytes : bmicolors un tableau de RGBQuad et la matrice de pixels.
J'ajouterais une remarque si l'image est petite il peut etre très
intéressant de typer les images dans la base , une table de type image : 256
couleurs , 24 bits , noir et blanc etc ce qui permet de définir la table des
différents type de bmiheader, ensuite un lien 1 à plusieurs sur la table
image qui contient un array de bytes (appenchuck) et le bmiwith as long et
bmiheight as long
Ceci marche avec la restriction d'voir la même table de couleur pour les
256.
Christophe Vergon
"Christelle" <anonymous@discussions.microsoft.com> a écrit dans le message
de news: 87de01c43270$198cf290$a101280a@phx.gbl...
Bonjour
J'ai stocké des images dans ma base de données sql server.
J'arrive à récupérer l'image dans un variant de type Byte.
Mais je n'arrive pas à l'afficher dans mon PictureBox.
Pour faire ce que vous voulez tous les deux il y a deux solutions soit stocker dans la BD le chemin de l'image et generer les images dans un module indépendant de la base, soit stcker le DIB (comme le disait zoury) dans la BD en dur (faut pas que les images soient grandes). Pour stocker le dib il suffit de stoccker le chanps du la structure Bibmiheader avec le type correspondant puis ensuite stocker deux tableaux de bytes : bmicolors un tableau de RGBQuad et la matrice de pixels. J'ajouterais une remarque si l'image est petite il peut etre très intéressant de typer les images dans la base , une table de type image : 256 couleurs , 24 bits , noir et blanc etc ce qui permet de définir la table des différents type de bmiheader, ensuite un lien 1 à plusieurs sur la table image qui contient un array de bytes (appenchuck) et le bmiwith as long et bmiheight as long Ceci marche avec la restriction d'voir la même table de couleur pour les 256.
Christophe Vergon
"Christelle" a écrit dans le message de news: 87de01c43270$198cf290$ Bonjour
J'ai stocké des images dans ma base de données sql server. J'arrive à récupérer l'image dans un variant de type Byte. Mais je n'arrive pas à l'afficher dans mon PictureBox.
Pouvez-vous m'aider ?
Merci d'avance pour votre aide
Christelle
c
dans ma boite je ne peux pas utiliser OUtlook express, sinon je l'aurais fait. donc je fais comment maintenant ?
dans ma boite je ne peux pas utiliser OUtlook express, sinon je l'aurais fait. donc je fais comment maintenant ?