首頁 > 資料庫 > mysql教程 > 如何使用 C# 將影像儲存在資料庫中?

如何使用 C# 將影像儲存在資料庫中?

Susan Sarandon
發布: 2025-01-04 18:13:41
原創
410 人瀏覽過

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

使用C#將圖片儲存到資料庫

將使用者圖片儲存到資料庫是Web開發中的常見任務。在 C# 中,有幾種方法可以解決這個問題。一種方法是將圖像轉換為位元組數組並將其保存到位元組類型的資料庫欄位中。

解決方案:

要實現此方法,您可以使用以下方法:

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 ();
    }
}
登入後複製

在此方法中:

  1. 使用了Image 類別從檔案載入映像。
  2. MemoryStream 用於將映像儲存在記憶體中。
  3. Save 方法用於將 PNG 格式的映像寫入 MemoryStream。
  4. Seek 方法用於將 MemoryStream 的位置重置到開頭。
  5. Read 方法用於將影像位元組讀取為一個位元組數組。
  6. DbType.Binary 類型的 IDataParameter 用於將位元組陣列傳遞到資料庫。
  7. CommandText 用於指定將映像插入資料庫的 SQL 查詢。
  8. ExecuteNonQuery 方法用於執行查詢。

以上是如何使用 C# 將影像儲存在資料庫中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板