c#winform 数据库二进制图片转成jpg存到本地
时间: 2024-11-25 20:33:07 浏览: 3
在C# Winform中,将数据库中的二进制图片数据转换为JPG格式并保存到本地文件,可以按照以下步骤操作:
1. **连接数据库**:
首先,你需要一个有效的数据库连接,使用`SqlConnection`类。例如,假设你使用的是SQL Server:
```csharp
string connectionString = "your_connection_string";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 连接到数据库
connection.Open();
// 获取二进制图片数据
string query = "SELECT ImageData FROM YourTable";
SqlCommand command = new SqlCommand(query, connection);
SqlDataReader reader = command.ExecuteReader();
}
```
2. **读取二进制数据**:
从`SqlDataReader`读取图像数据:
```csharp
byte[] binaryImageData = null;
if (reader.Read())
{
binaryImageData = (byte[])reader["ImageData"];
}
reader.Close();
```
3. **转换二进制为JPG**:
使用System.Drawing命名空间中的`Image`类,将二进制数据转换为`Image`对象,然后保存为JPG:
```csharp
using (MemoryStream ms = new MemoryStream(binaryImageData))
{
using (Image image = Image.FromStream(ms))
{
// 创建一个新的JPG图片流
using (MemoryStream jpgStream = new MemoryStream())
{
image.Save(jpgStream, ImageFormat.Jpeg);
byte[] jpgBytes = jpgStream.ToArray();
// 将JPG数据保存到本地文件
string imagePath = "C:\\Temp\\output.jpg";
File.WriteAllBytes(imagePath, jpgBytes);
}
}
}
```
4. **错误处理**:
不忘记添加适当的错误处理,比如检查文件是否已存在、内存是否足够等。
阅读全文