技术文摘
.NET中二进制图片存储及读取常见方法
2025-01-02 03:27:36 小编
.NET中二进制图片存储及读取常见方法
在.NET开发中,处理二进制图片的存储和读取是一项常见任务。无论是构建网站、桌面应用还是移动应用,都可能需要有效地管理图片数据。本文将介绍.NET中二进制图片存储及读取的常见方法。
二进制图片存储方法
数据库存储 将图片以二进制数据的形式存储在数据库中是一种常见的方法。在.NET中,可以使用ADO.NET来实现。需要在数据库表中创建一个合适的字段,通常为BLOB(二进制大对象)类型。然后,通过SqlCommand等对象将图片的二进制数据插入到数据库中。例如:
byte[] imageData = File.ReadAllBytes("image.jpg");
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "INSERT INTO Images (ImageData) VALUES (@ImageData)";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@ImageData", imageData);
connection.Open();
command.ExecuteNonQuery();
}
文件系统存储 另一种方法是将图片存储在文件系统中。可以为图片生成一个唯一的文件名,并将其保存在指定的目录下。在.NET中,可以使用System.IO命名空间中的类来实现文件的写入操作。
二进制图片读取方法
从数据库读取 要从数据库中读取二进制图片数据,可以执行相应的SQL查询,并将结果读取到字节数组中。然后,可以使用MemoryStream和Image类将字节数组转换为图片对象。示例代码如下:
using (SqlConnection connection = new SqlConnection(connectionString))
{
string sql = "SELECT ImageData FROM Images WHERE Id = @Id";
SqlCommand command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@Id", 1);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.Read())
{
byte[] imageData = (byte[])reader["ImageData"];
using (MemoryStream stream = new MemoryStream(imageData))
{
Image image = Image.FromStream(stream);
pictureBox1.Image = image;
}
}
}
从文件系统读取 从文件系统读取图片则相对简单,直接使用Image类的FromFile方法即可。
了解这些.NET中二进制图片存储及读取的常见方法,有助于开发者更好地处理图片数据,提高应用程序的性能和用户体验。
- 重磅!谷歌推出保护数据隐私的开发工具
- IEEE 2019 编程语言排行榜:Python 在趋势、开源、职位需求方面均居首
- 华为方舟编译器开源 实现自主托管 脱离 GitHub
- Elasticsearch 对分布式系统的设计之道
- Python 助你选教师节礼物
- Java 8 后时代值得开发者关注的语言特性
- 游戏服务器框架的从头编写教程
- 微服务架构常见解决方案:传统服务发现方案总结
- 以下 8 个 Python 技巧,助你数倍提升数据分析能力!
- GitHub 成功升级至 Rails 6.0
- 微服务的定义、概念与原理解析
- Python 2 大限将至!113 天后无人问津 | 附升级攻略
- NLP 模型超越人类水平?或是大忽悠
- 计算机组成原理:计算机层次和编程语言
- HTML5 开发常见的 7 个框架,你知晓多少?