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

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

DDD
DDD原创
2025-01-04 12:45:41363浏览

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

使用 C# 实现数据库中图像的数据持久化

在数据库中保存用户图像是 Web 应用程序中的一项常见任务。 C# 提供了强大的机制来实现此功能。

编码图像数据

要将图像存储在数据库中,必须将其转换为二进制格式。这涉及创建图像数据的字节数组表示。各种图像格式,如 PNG、JPEG 或 BMP 都可用于此目的。

数据库集成

一旦图像数据为二进制形式,就可以保存到数据库。大多数现代 RDBMS 支持存储二进制数据。存储图像的数据类型通常是 BLOB(二进制大对象)或 BINARY。

保存到数据库

要将图像数据保存到数据库,使用带有图像数据参数的查询。参数数据类型应与数据库中存储图像的列的数据类型相匹配。

示例代码

以下代码片段演示了保存图像所涉及的步骤将图像保存到 C# 数据库中:

using System.Drawing;
using System.Drawing.Imaging;
using System.Data;

public static void SaveImage(string path, IDbConnection connection)
{
    using var command = connection.CreateCommand();
    
    Image img = Image.FromFile(path);
    var tmpStream = new MemoryStream();
    img.Save(tmpStream, ImageFormat.Png);
    tmpStream.Seek(0, SeekOrigin.Begin);
    
    var imgBytes = new byte[16777216];
    tmpStream.Read(imgBytes, 0, 16777216);
    
    command.CommandText = "INSERT INTO images(payload) VALUES (:payload)";
    var par = command.CreateParameter();
    par.ParameterName = "payload";
    par.DbType = DbType.Binary;
    par.Value = imgBytes;
    command.Parameters.Add(par);
    command.ExecuteNonQuery();
}

通过实施这些步骤,开发人员可以有效地将用户图像保存到 C# 数据库中应用程序。

以上是如何使用 C# 将图像持久保存在数据库中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn