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

Wie kann ich Bilder mit C# in einer Datenbank speichern?

Susan Sarandon
Freigeben: 2025-01-04 18:13:41
Original
410 Leute haben es durchsucht

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

Verwenden von C# zum Speichern von Bildern in einer Datenbank

Das Speichern von Benutzerbildern in einer Datenbank ist eine häufige Aufgabe in der Webentwicklung. In C# gibt es mehrere Möglichkeiten, dies zu erreichen. Eine Methode besteht darin, das Bild in ein Byte-Array zu konvertieren und es in einem Datenbankfeld vom Typ Byte zu speichern.

Lösung:

Um diesen Ansatz zu implementieren, können Sie das verwenden Folgende Methode:

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

In dieser Methode:

  1. Die Image-Klasse wird zum Laden des Bildes verwendet eine Datei.
  2. Ein MemoryStream wird verwendet, um das Bild im Speicher zu speichern.
  3. Die Save-Methode wird verwendet, um das Bild im PNG-Format in den MemoryStream zu schreiben.
  4. The Seek -Methode wird verwendet, um die Position des MemoryStream auf den Anfang zurückzusetzen.
  5. Die Read-Methode wird verwendet, um die Bildbytes in ein Byte einzulesen Array.
  6. Ein IDataParameter vom Typ DbType.Binary wird verwendet, um das Byte-Array an die Datenbank zu übergeben.
  7. Der CommandText wird verwendet, um die SQL-Abfrage zum Einfügen des Bildes in die Datenbank anzugeben.
  8. Die ExecuteNonQuery-Methode wird zum Ausführen der Abfrage verwendet.

Das obige ist der detaillierte Inhalt vonWie kann ich Bilder mit C# in einer Datenbank speichern?. 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