init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
45
KretaWeb/Classes/UploadFileValidator.cs
Normal file
45
KretaWeb/Classes/UploadFileValidator.cs
Normal 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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue