Inserer une photo dans un champ blob (image) dans table sql et lecture dans un gridview

Soyez le premier à donner votre avis sur cette source.

Vue 31 863 fois - Téléchargée 2 258 fois

Description

J'ai vu beaucoup de questions sur ce sujet et peu de réponses.

Plusieurs personnes recommandent de stocker les chemins d'accès et non les images.
Mais plusieurs personnes veulent stocker des images directement dans un champ Image [Blob] sous sql.

Voici du code qui permet de convertir et stocker une image avec un base de données sql.
Il permet aussi de reconvertir un champ Blob et de le transformer en image.

Pour exemple j'utilise le Framework 2.0 VS-2005 et sql 2005.

Source / Exemple :


Cette class permet de transformer un Bitmap en tableau de Byte 
pour le reste il faut télécharger le ZIP.

Public Class Picture

    Public Shared Function GetBytesFromBitmap(ByVal Img As Drawing.Bitmap) As Byte()
        Dim ms As New IO.MemoryStream()

        Try
            Img.Save(ms, Img.RawFormat)

            Return ms.GetBuffer

        Catch ex As Exception
            Throw New Exception(ex.Message)

        Finally
            ms.Close()
            ms.Dispose()
        End Try

    End Function
End Class

Conclusion :


Il peut avoir plusieurs variantes de la page GetPicture.Aspx.
Moi j'ai stocker les objets dans des variables 'session' en prenant soin de les libérer une fois l'image convertit.

Mais nous aurions pu rajouter un paramètre à l'adresse et rechercher directement dans la BD par la suite. Comme : "~/GetPicture.Aspx?Id=NoId"

Sous VS 2005 : Dezipper seulement le fichier et faite File/Open Website/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Commenter la réponse de baderelamraoui

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.