我正在使用.NET Core 2.2。在我的代码中,我正在使用IFormFile来上传图片。我该如何在它上传到服务器之前压缩图片大小(以KB为单位)?我搜索了解决方案,但那些答案都与Bitmap相关,但由于我使用的是IFormFile,因此我想要与之相关的解决方案。
我将在内部检查图像大小,如果大小高达700KB,则不想压缩。但如果更大,则要压缩并上传。样例代码会非常有用。
我尝试使用Magick.NET软件包。我该如何将IFormFile转换为MagickImage类型?
我将在内部检查图像大小,如果大小高达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);
}
}
before upload
是指“从浏览器上传到服务器之前”还是“在上传到当前服务器后再上传到另一个服务器之前”?如果你想在上传之前压缩文件,那么用 C# 编写的服务器无法处理。你应该寻找一些 JavaScript 解决方案。 - Anduin Xue