使用 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中文网其他相关文章!