首頁 >資料庫 >mysql教程 >如何使用 C# 將圖像保存到資料庫中?

如何使用 C# 將圖像保存到資料庫中?

Barbara Streisand
Barbara Streisand原創
2025-01-03 00:48:39616瀏覽

How to Save Images in a Database using C#?

使用 C# 將影像儲存到資料庫中

將使用者影像儲存到資料庫時,必須將其轉換為與資料庫儲存。在 C# 中,您可以透過以下步驟來實現此目的:

  1. 為影像資料建立位元組數組:
    將使用者影像轉換為位元組數組。此步驟涉及使用 File 或 Image 類別讀取圖像檔案並將其保存為位元組數組。
  2. 對二進位資料使用參數化查詢:
    防止 SQL 注入攻擊並改進效能方面,請使用帶有 DbType.Binary 類型參數的參數化查詢。此參數將保存表示影像資料的位元組數組。
  3. 執行查詢以保存映像:
    執行參數化查詢以將影像資料插入資料庫。二進位資料將儲存在指定的列中,保留影像資訊。

範例程式碼:

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();
    }
}

此程式碼示範如何將影像轉換為位元組數組,建立一個二進位參數,並使用C# 執行參數化查詢以將影像資料儲存在資料庫中。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn