Размер файла изображения 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 библиотеки должно быть достаточно, чтобы получить размер файла изображения.

Другие вопросы по тегам