首页 > 数据库 > mysql教程 > 如何使用 C# 将图像保存到数据库中?

如何使用 C# 将图像保存到数据库中?

Barbara Streisand
发布: 2025-01-03 00:48:39
原创
581 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板