Heim > Datenbank > MySQL-Tutorial > Wie speichere ich Bilder in einer Datenbank mit C#?

Wie speichere ich Bilder in einer Datenbank mit C#?

Barbara Streisand
Freigeben: 2025-01-03 00:48:39
Original
579 Leute haben es durchsucht

How to Save Images in a Database using C#?

Bilder in einer Datenbank mit C# speichern

Beim Speichern von Benutzerbildern in einer Datenbank ist es wichtig, sie in ein Binärformat zu konvertieren, das mit kompatibel ist Datenbankspeicher. In C# können Sie dies durch die folgenden Schritte erreichen:

  1. Erstellen Sie ein Byte-Array für Bilddaten:
    Konvertieren Sie das Benutzerbild in ein Byte-Array. Dieser Schritt umfasst das Lesen der Bilddatei mithilfe der Klasse „File“ oder „Image“ und das Speichern als Byte-Array.
  2. Verwenden Sie parametrisierte Abfragen mit Binärdaten:
    Um SQL-Injection-Angriffe zu verhindern und zu verbessern Um die Leistung zu verbessern, verwenden Sie eine parametrisierte Abfrage mit einem Parameter vom Typ DbType.Binary. Dieser Parameter enthält das Byte-Array, das die Bilddaten darstellt.
  3. Führen Sie die Abfrage aus, um das Bild zu speichern:
    Führen Sie die parametrisierte Abfrage aus, um die Bilddaten in die Datenbank einzufügen. Die Binärdaten werden in der angegebenen Spalte gespeichert, wobei die Bildinformationen erhalten bleiben.

Beispielcode:

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();
    }
}
Nach dem Login kopieren

Dieser Code zeigt, wie ein Bild in ein Byte-Array konvertiert wird. Erstellen Sie einen binären Parameter und führen Sie eine parametrisierte Abfrage aus, um die Bilddaten mithilfe von C# in einer Datenbank zu speichern.

Das obige ist der detaillierte Inhalt vonWie speichere ich Bilder in einer Datenbank mit C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage