public IActionResult PostUpload()

in src/AdminSite/Controllers/ApplicationConfigController.cs [145:206]


    public IActionResult PostUpload(List<IFormFile> files)
    {
        if (!(files?.Any() == true))
        {
            TempData["Upload"] = "No files to upload";
            return RedirectToAction("Index");
        }
        if (files.Count > 2)
        {
            TempData["Upload"] = "No more than two files can be uploaded";
            return RedirectToAction("Index");
        }

        foreach (var file in files)
        {
            int maxLength = 1024 * 1024 * 5; //5 MB

            if (file.Length > maxLength)
            {
                TempData["Upload"] = "File is too large, max size of file for upload is 5 MB";
                return RedirectToAction("Index");
            }
            if (file.Length == 0)
            {
                TempData["Upload"] = "File is empty";
                return RedirectToAction("Index");
            }

            var fileExtension = Path.GetExtension(file.FileName).ToLowerInvariant();

            if (fileExtension != ".png" && fileExtension != ".ico")
            {
                TempData["Upload"] = "Only .png or .ico files can be uploaded";
                return RedirectToAction("Index");
            }

            var appConfigNames = this.appConfigService.GetAllApplicationConfiguration().Select(a => a.Name);

            if (!appConfigNames.Contains("LogoFile") || !appConfigNames.Contains("FaviconFile"))
            {
                TempData["Upload"] = "LogoFile or FaviconFile application config settings are missing in the database";
                return RedirectToAction("Index");
            }

            if (this.appConfigService.UploadFileToDatabase(file, fileExtension) == false)
            {
                TempData["Upload"] = "File Upload failed!";
                return RedirectToAction("Index");
            }
        }

        if (files.Count == 1)
        {
            TempData["Upload"] = files.FirstOrDefault().FileName + "  uploaded successfully";
        }
        else
        {
            TempData["Upload"] = files[0].FileName + " and " + files[1].FileName + " uploaded successfully";
        }

        return RedirectToAction("Index");
    }