Размер файла изображения Magick.Net всегда равен нулю
Я работаю над требованием, когда во время загрузки изображения от пользователя в форме ASP.net мне нужно проверить, превышает ли предоставленное пользователем изображение более 500 КБ, тогда мне не нужно уменьшать размер изображения, если оно превышает размер, затем уменьшать размер изображения, но когда я пытался использовать свойство FileSize, оно всегда показывало значение 0. Я использую приведенный ниже код.
using (MagickImageCollection collection = new MagickImageCollection(txtInput.Text))
{
collection.Coalesce();
foreach (MagickImage image in collection)
{
if (image.FileSize >= 500)
{
image.Quality = 50;
image.Sample(image.Width / 2, image.Height / 2);
}
}
collection.Write(txtOutput.Text);
}
1 ответ
Решение
Вы получаете 0
для размера файла, потому что кадры изображения не знают о размере всего изображения. Я являюсь автором этой библиотеки и решил удалить свойство FileSize, чтобы избежать путаницы. Свойство было удалено в Magick.NET 7.3.0.0. Стандарт System.IO
библиотеки должно быть достаточно, чтобы получить размер файла изображения.