This commit is contained in:
skidoodle 2024-03-13 00:33:46 +01:00
commit e124a47765
19374 changed files with 9806149 additions and 0 deletions

View file

@ -0,0 +1,45 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using Kreta.Resources;
using Kreta.Web.Configuration;
using Kreta.Web.Helpers.Error;
namespace Kreta.Web.Classes
{
public class UploadFileValidator : IUploadFileValidator
{
public IUploadFileValidationConfiguration Configuration { get; }
public UploadFileValidator(IUploadFileValidationConfiguration configuration)
{
Configuration = configuration;
}
public void ValidateImportFile(HttpPostedFileBase importFile)
{
ValidateFile(importFile, Configuration.ImportMaxAllowedFileSizeInBytes, Configuration.ImportAllowedFileExtensions);
}
public void ValidateAscImportFile(HttpPostedFileBase importFile)
{
ValidateFile(importFile, Configuration.ImportMaxAllowedFileSizeInBytes, Configuration.AscImportAllowedFileExtensions);
}
public void ValidateFile(HttpPostedFileBase file, int maxAllowedFileSizeInBytes, IEnumerable<string> allowedFileExtensions)
{
if (file.ContentLength > maxAllowedFileSizeInBytes)
{
throw new StatusError(HttpStatusCode.BadRequest, string.Format(CommonResource.TulNagyFajl, Math.Round((decimal)maxAllowedFileSizeInBytes / 1024 / 1024)));
}
if (!allowedFileExtensions.Contains(Path.GetExtension(file.FileName).ToLower()))
{
throw new StatusError(HttpStatusCode.BadRequest, string.Format(CommonResource.NemMegfeleloFajlKiterjesztes, string.Join(", ", allowedFileExtensions)));
}
}
}
}