public ValidationResult ValidateFormImageFile(IFormFile formFile, List <FileExtensions> customFileExtensions = null, List <string> customMimeTypes = null, long customMaxFileSize = 0) { List <FileExtensions> allowedFileExtensions = customFileExtensions == null ? this.configurationConstants.ImageValidationRules.AllowedFormatExtensionsAsEnum : customFileExtensions; List <string> allowedMimeTypes = customMimeTypes == null ? this.configurationConstants.ImageValidationRules.AllowedMimeTypes : customMimeTypes; long maxAllowedFileSize = customMaxFileSize == 0 ? this.configurationConstants.ImageValidationRules.MaxAllowedFileSize : customMaxFileSize; var startupHandler = new StartupHandler <IFormFile>(); var fileExtensionHandler = new FileExtensionHandler(allowedFileExtensions); var fileMimeTypesHandler = new FileMimeTypesHandler(allowedMimeTypes); var fileSizeHandler = new FileSizeHandler(maxAllowedFileSize); var imageBoxingHandler = new ImageBoxingHandler(); startupHandler .SetNext(fileExtensionHandler) .SetNext(fileMimeTypesHandler) .SetNext(fileSizeHandler) .SetNext(imageBoxingHandler); ValidationResult validationResult = new ValidationResult(); string resultMessage = string.Empty; validationResult.Success = startupHandler.Handle(formFile, out resultMessage) != null; validationResult.Message = resultMessage; if (validationResult.Success) { validationResult.Message = "Image file is valid."; } return(validationResult); }
/// <inheritdoc/> public ValidationResult ValidateFormFile(IFormFile formFile, List <FileExtensions> customFileExtensions = null, List <string> customMimeTypes = null, long customMaxFileSize = 0) { List <FileExtensions> allowedFileExtensions = customFileExtensions ?? this.allowedFileFormatExtensions; List <string> allowedMimeTypes = customMimeTypes ?? this.allowedFilesMimeTypes; long maxAllowedFileSize = customMaxFileSize == 0 ? this.options.MaxAllowedFileSize : customMaxFileSize; var startupHandler = new StartupHandler <IFormFile>(); var fileExtensionHandler = new FileExtensionHandler(allowedFileExtensions); var fileMimeTypesHandler = new FileMimeTypesHandler(allowedMimeTypes); var fileSizeHandler = new FileSizeHandler(maxAllowedFileSize); startupHandler .SetNext(fileExtensionHandler) .SetNext(fileMimeTypesHandler) .SetNext(fileSizeHandler); ValidationResult validationResult = new ValidationResult(); validationResult.Succeeded = startupHandler.Handle(formFile, out var resultMessage) != null; validationResult.Message = resultMessage; if (validationResult.Succeeded) { validationResult.Message = "File is valid."; } return(validationResult); }