IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Accès aux données Discussion :

Stocker image (jpeg) dans ma base de donnée


Sujet :

Accès aux données

  1. #1
    Membre habitué Avatar de issou
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 181
    Points : 136
    Points
    136
    Par défaut Stocker image (jpeg) dans ma base de donnée
    Bonjour ,


    Je voudrais stocker une image (jpeg) dans ma base de donnée et ensuite la récupérer . Dois je sérialiser ?? ou y'a t'il une technique bien précise ?


    Merci à vous .

  2. #2
    Membre éclairé
    Avatar de karami
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2005
    Messages : 343
    Points : 668
    Points
    668
    Par défaut
    Voici un exemple de script SQL utilisé pour créer une table contenant des images :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    CREATE TABLE [dbo].[Images] (
                [id_img] [int] IDENTITY (1, 1) NOT NULL ,
                [img] [image] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    Pour le stockage : (en vb.net)
    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
     
    Dim mystream As FileStream
            Dim img_bytes AsByte()
            'récuperation d'un tableau d'octets à partir du fichier c:\test.bmp
                mystream = File.Open("c:\test.bmp", FileMode.Open, FileAccess.Read)
                ReDim img_bytes(CInt(mystream.Length) - 1)
                mystream.Read(img_bytes, 0, CInt(mystream.Length) - 1) 'lecture des bytes
                mystream.Close()
     
            'connection à la base et insertion de l'enregistrement
            Dim connection As SqlConnection = New SqlConnection("workstation id=PORTPATRICE;packet size=4096;integrated security=SSPI;data source=PORTPATRICE;persist security info=False;initial catalog=ImageDB")
            Dim command As SqlCommand = New SqlCommand("INSERT INTO Images (img) VALUES (@img)", connection)
            Dim myparam As SqlParameter = New SqlParameter("@img", SqlDbType.Image)
            myparam.Value = img_bytes
            command.Parameters.Add(myparam)
            connection.Open()
            command.ExecuteNonQuery()
            connection.Close()
    Pour la récuperation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim img_bytes AsByte()
            Dim connection As SqlConnection = New SqlConnection("workstation id=PORTPATRICE;packet size=4096;integrated security=SSPI;data source=PORTPATRICE;persist security info=False;initial catalog=ImageDB")
            Dim myr As SqlDataReader
            connection.Open()
            Dim command As SqlCommand = New SqlCommand("select * from images", connection)
            myr = command.ExecuteReader
            myr.Read()
            'récupération des octets enregistrés dans la table comprenant les images
            img_bytes = CType(myr("img"), Byte())
            'Affichage de l'image générée à partir du tableau d'octets que l'on a récupéré
            PictureBox2.Image = New Bitmap(New System.IO.MemoryStream(img_bytes))

  3. #3
    Invité
    Invité(e)
    Par défaut
    Personnellement on m'avait conseiller d'utiliser le type BLOB plutot que TEXTIMAGE.
    Mais bon le principe reste le même.

  4. #4
    Membre actif
    Inscrit en
    Août 2006
    Messages
    381
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 381
    Points : 252
    Points
    252
    Par défaut
    Hello,

    pour le stockage d'image je t'invite à lire l'article d'SQL Pro qui est très interessant:

    Des images dans ma base

    Bye

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/06/2007, 14h58
  2. Image socké dans une base de données : BLOB
    Par Le Mad dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 19/10/2006, 20h56
  3. [MySQL] Afficher une image stockée dans une base de données
    Par LuckySoft dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2006, 12h57
  4. Stocker les sessions dans une base de données
    Par mic79 dans le forum Langage
    Réponses: 7
    Dernier message: 06/04/2006, 21h57
  5. [MySQL] Nom de l'image stocké dans la base de donnée
    Par ToxiZz dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 07/01/2006, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo