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); }
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!"); } }