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

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

Barbara Streisand
發布: 2025-01-03 00:48:39
原創
579 人瀏覽過

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中文網其他相關文章!

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