.net core将图片压缩保存到数据库
时间: 2023-08-01 18:11:15 浏览: 42
可以使用C#的System.Drawing命名空间中的Image类和Graphics类来进行图片的压缩和保存。下面是一个示例代码:
```csharp
// 读取原始图片
var originalImage = Image.FromFile("original.jpg");
// 创建目标尺寸的空白图片
var compressedImage = new Bitmap(800, 600);
// 将原始图片绘制到目标图片上并进行压缩
using (var graphics = Graphics.FromImage(compressedImage))
{
graphics.CompositingQuality = CompositingQuality.HighQuality;
graphics.SmoothingMode = SmoothingMode.HighQuality;
graphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
graphics.DrawImage(originalImage, 0, 0, 800, 600);
}
// 将压缩后的图片转换为字节数组
var stream = new MemoryStream();
compressedImage.Save(stream, ImageFormat.Jpeg);
var compressedBytes = stream.ToArray();
// 将字节数组保存到数据库
using (var db = new DbContext())
{
var entity = new ImageEntity { Data = compressedBytes };
db.Add(entity);
db.SaveChanges();
}
```
这个示例代码将原始图片压缩到了800x600的大小,并将压缩后的图片保存到了数据库中。你可以根据实际需求调整压缩后的图片尺寸和压缩质量。