c# sqlite 存图片
时间: 2024-10-08 15:13:41 浏览: 28
在C#中,使用SQLite存储图片通常涉及到两个步骤:将图片转换为字节流,然后作为BLOB(二进制大对象)数据插入数据库。
1. **将图片转换为字节流**:
首先,你需要通过`System.IO`库读取图片文件并将其内容转换为字节数组。例如:
```csharp
using (var fileStream = File.OpenRead("path_to_your_image.jpg"))
{
byte[] imageBytes = new byte[fileStream.Length];
fileStream.Read(imageBytes, 0, (int)fileStream.Length);
}
```
2. **存储到SQLite数据库**:
使用SQLite.NET或其他针对SQLite的ORM(如Dapper、Entity Framework Core等),你可以将字节数组作为一个值插入到`Blob`类型的字段里。例如,假设你有一个名为`Images`的表,有字段`ImageId`和`ImageData`:
```csharp
string connectionString = "your_connection_string";
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
var command = new SQLiteCommand("INSERT INTO Images (ImageData) VALUES (@data)", connection);
command.Parameters.AddWithValue("@data", imageBytes);
command.ExecuteNonQuery();
}
```
阅读全文