我使用 .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)