小编Vim*_*Vim的帖子

如何使用 C# Dot Net Core 压缩图像大小

我使用 .NET Core 2.2 在我的代码中,我使用IFormFile上传图像。如何在将图像上传到服务器之前将其压缩(以 KB 为单位)?我搜索解决方案,但这些答案与位图有关,但由于我使用的是 IFormFile,因此我想要与之相关的解决方案。

我会在内部检查图像大小,如果它的大小高达 700KB,我不想压缩。但如果它更高,那么我想压缩和上传。示例代码将非常有用

我尝试使用 Magick.NET 包。但问题是,如何将 IFormFile 设为 MagickImage 类型?

foreach(IFormFile photo in Images)  
{
  using (MagickImage mi = photo)  // Cannot implicitly convert type 
                                  //Microsoft.AspNetCore.Http.IFormFile to ImageMagick.MagickImage
   {
      mi.Format = Image.Jpeg;
      mi.Resize(40, 40);
      mi.Quality = 10;
      mi.Write(imageFile);
   }
}
Run Code Online (Sandbox Code Playgroud)

.net c# core asp.net-core

3
推荐指数
1
解决办法
4796
查看次数

标签 统计

.net ×1

asp.net-core ×1

c# ×1

core ×1