Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menyimpan Imej dalam Pangkalan Data Menggunakan C#?

Bagaimanakah Saya Boleh Menyimpan Imej dalam Pangkalan Data Menggunakan C#?

Susan Sarandon
Lepaskan: 2025-01-04 18:13:41
asal
410 orang telah melayarinya

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

Menggunakan C# untuk Menyimpan Imej dalam Pangkalan Data

Menyimpan imej pengguna dalam pangkalan data ialah tugas biasa dalam pembangunan web. Dalam C#, terdapat beberapa cara untuk mendekati ini. Satu kaedah melibatkan menukar imej kepada tatasusunan bait dan menyimpannya ke medan pangkalan data jenis bait.

Penyelesaian:

Untuk melaksanakan pendekatan ini, anda boleh menggunakan kaedah berikut:

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 ();
    }
}
Salin selepas log masuk

Dalam kaedah ini:

  1. Kelas Imej digunakan untuk memuatkan imej daripada fail.
  2. MemoryStream digunakan untuk menyimpan imej dalam ingatan.
  3. Kaedah Simpan digunakan untuk menulis imej ke MemoryStream dalam format PNG.
  4. Kaedah Seek digunakan untuk menetapkan semula kedudukan MemoryStream ke permulaan.
  5. Kaedah Baca digunakan untuk membaca bait imej ke dalam tatasusunan bait.
  6. IDataParameter jenis DbType.Binary digunakan untuk menghantar tatasusunan bait ke pangkalan data.
  7. CommandText digunakan untuk menentukan pertanyaan SQL untuk memasukkan imej ke dalam pangkalan data.
  8. Kaedah ExecuteNonQuery digunakan untuk melaksanakan pertanyaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Imej dalam Pangkalan Data Menggunakan C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan