Maison > base de données > tutoriel mysql > Comment enregistrer des images dans une base de données en utilisant C# ?

Comment enregistrer des images dans une base de données en utilisant C# ?

Barbara Streisand
Libérer: 2025-01-03 00:48:39
original
603 Les gens l'ont consulté

How to Save Images in a Database using C#?

Enregistrement des images dans une base de données en utilisant C#

Lors du stockage des images utilisateur dans une base de données, il est essentiel de les convertir dans un format binaire compatible avec stockage de base de données. En C#, vous pouvez y parvenir en suivant les étapes suivantes :

  1. Créer un tableau d'octets pour les données d'image :
    Convertir l'image utilisateur en un tableau d'octets. Cette étape consiste à lire le fichier image à l'aide de la classe File ou Image et à l'enregistrer sous forme de tableau d'octets.
  2. Utiliser une requête paramétrée avec des données binaires :
    Pour éviter les attaques par injection SQL et améliorer performances, utilisez une requête paramétrée avec un paramètre de type DbType.Binary. Ce paramètre contiendra le tableau d'octets représentant les données de l'image.
  3. Exécutez la requête pour enregistrer l'image :
    Exécutez la requête paramétrée pour insérer les données de l'image dans la base de données. Les données binaires seront stockées dans la colonne spécifiée, préservant les informations de l'image.

Exemple de code :

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

public static void SaveImage(string path, IDbConnection connection)
{
    using (var command = connection.CreateCommand())
    {
        // Read the image file and convert it to a byte array
        Image img = Image.FromFile(path);
        MemoryStream tmpStream = new MemoryStream();
        img.Save(tmpStream, ImageFormat.Png);
        tmpStream.Seek(0, SeekOrigin.Begin);
        byte[] imgBytes = new byte[MAX_IMG_SIZE];
        tmpStream.Read(imgBytes, 0, MAX_IMG_SIZE);

        // Create a binary parameter for the image data
        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);

        // Execute the query to save the image
        command.ExecuteNonQuery();
    }
}
Copier après la connexion

Ce code montre comment convertir une image en un tableau d'octets, créez un paramètre binaire et exécutez une requête paramétrée pour stocker les données d'image dans une base de données en utilisant C#.

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