public override bool IsValid(object value)
        {
            HttpPostedFileBase file = value as HttpPostedFileBase;

            if (file != null)
            {
                // Проверка на окончание названия файла
                var fileName         = file.FileName;
                var isValidExtension = ValidExtensions.Any(y => fileName.EndsWith(y, StringComparison.OrdinalIgnoreCase));
                if (!isValidExtension)
                {
                    return(false);
                }
                try
                {
                    using (var img = System.Drawing.Image.FromStream(file.InputStream))
                    {
                        return(ValidImageFormats.Contains(img.RawFormat));
                    }
                }
                catch
                {
                    return(false);
                }
            }
            // Вернуть true если файл null
            // Чтобы не влиять на другие валидации
            return(true);
        }
Beispiel #2
0
        public override bool IsValid(object value)
        {
            HttpPostedFileBase file = value as HttpPostedFileBase;

            if (file != null)
            {
                var fileName             = file.FileName;
                var isValidExtension     = ValidExtensions.Any(y => fileName.EndsWith(y));
                var isValidContentLength = file.ContentLength < MaxContentLength;
                return(isValidExtension && isValidContentLength);
            }
            return(true);
        }
 public void Validate()
 {
     if (NumberOfThreads == 0)
     {
         throw new Exception("O número de threads deve ser > 0");
     }
     if (String.IsNullOrEmpty(StaticFilesDirectory))
     {
         throw new Exception("Diretório de arquivos estáticos é inválido!");
     }
     if (ValidExtensions.Length == 0)
     {
         throw new Exception("Extensões permitidas inválidas!");
     }
     if (ValidExtensions.Any(extensao => extensao.EndsWith("*")))
     {
         throw new ArgumentException("Extensão '.*' inválida!");
     }
     if (String.IsNullOrEmpty(BaseUrl))
     {
         throw new Exception("URL de base é inválida!");
     }
 }