public IActionResult OnPostUpload(FileUpload fileUpload)
{
var allowed = True;
var fullPath = "D:\CVUploads\"
var formFile = fileUpload.FormFile;
Guid id = Guid.NewGuid();
var filePath = Path.Combine(fullPath, id + ".pdf");
string contentType = fileUpload.ContentType.Split('/')[1].ToLower();
if !(contentType.equals("ContentType=PDF")
{
allowed = False;
}
string contentExtension = Path.GetExtension(fileUpload);
if !(contentExtension.equals("PDF"))
{
allowed = False;
}
int contentSize = fileUpload.ContentLength;
int maxFileSize = 10 * 1024 * 1024
if (contentSize > maxFileSize)
{
allowed = False;
}
var clam = new ClamClient(this._configuration["ClamAVServer:URL"],Convert.ToInt32(this._configuration["ClamAVServer:Port"]));
var scanResult = await clam.SendAndScanFileAsync(fileBytes);
if (scanResult.Result == ClamScanResults.VirusDetected)
{
allowed = False;
};
if (allowed)
{
using (var stream = System.IO.File.Create(filePath))
{
formFile.CopyToAsync(stream);
}
}
}