Maison > base de données > tutoriel mysql > Comment puis-je stocker des images dans une base de données en utilisant C# ?

Comment puis-je stocker des images dans une base de données en utilisant C# ?

Susan Sarandon
Libérer: 2025-01-04 18:13:41
original
410 Les gens l'ont consulté

How Can I Store Images in a Database Using C#?

Utiliser C# pour stocker des images dans une base de données

Le stockage des images des utilisateurs dans une base de données est une tâche courante dans le développement Web. En C#, il existe plusieurs façons d’aborder cela. Une méthode consiste à convertir l'image en un tableau d'octets et à l'enregistrer dans un champ de base de données de type octet.

Solution :

Pour mettre en œuvre cette approche, vous pouvez utiliser le méthode suivante :

using System.Drawing;
using System.Drawing.Imaging;
using System.Data;

public static void PerisitImage(string path, IDbConnection connection)
{
    using (var command = connection.CreateCommand ())
    {
        Image img = Image.FromFile (path);
        MemoryStream tmpStream = new MemoryStream();
        img.Save (tmpStream, ImageFormat.Png); // change to other format
        tmpStream.Seek (0, SeekOrigin.Begin);
        byte[] imgBytes = new byte[MAX_IMG_SIZE];
        tmpStream.Read (imgBytes, 0, MAX_IMG_SIZE);

        command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
        IDataParameter par = command.CreateParameter();
        par.ParameterName = "payload";
        par.DbType = DbType.Binary;
        par.Value = imgBytes;
        command.Parameters.Add(par);
        command.ExecuteNonQuery ();
    }
}
Copier après la connexion

Dans cette méthode :

  1. La classe Image est utilisée pour charger l'image depuis un fichier.
  2. Un MemoryStream est utilisé pour stocker l'image en mémoire.
  3. La méthode Save est utilisée pour écrire l'image dans le MemoryStream au format PNG.
  4. Le Seek La méthode Read est utilisée pour réinitialiser la position du MemoryStream au début.
  5. La méthode Read est utilisée pour lire les octets de l'image dans un octet array.
  6. Un IDataParameter de type DbType.Binary est utilisé pour transmettre le tableau d'octets à la base de données.
  7. Le CommandText est utilisé pour spécifier la requête SQL pour insérer l'image dans la base de données.
  8. La méthode ExecuteNonQuery est utilisée pour exécuter la requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal