public IActionResult UploadToFileSystem(List <IFormFile> Files, string description)
        {
            foreach (var file in Files)
            {
                var  basePath       = Path.Combine(Directory.GetCurrentDirectory() + "\\FilesUploads\\");
                bool basePathExists = System.IO.Directory.Exists(basePath);
                if (!basePathExists)
                {
                    Directory.CreateDirectory(basePath);
                }
                var fileName  = Path.GetFileNameWithoutExtension(file.FileName);
                var filePath  = Path.Combine(basePath, file.FileName);
                var extension = Path.GetExtension(file.FileName);
                if (!System.IO.File.Exists(filePath))
                {
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        file.CopyTo(stream);
                    }
                    FilesOnFileSystem model = new FilesOnFileSystem
                    {
                        Name        = fileName,
                        FileType    = file.ContentType,
                        Extension   = extension,
                        Description = description,
                        CreatedOn   = DateTime.UtcNow,
                        FilePath    = filePath
                    };

                    _Context.FilesOnFileSystem.Add(model);
                    _Context.SaveChanges();
                }
            }
            TempData["Message"] = "File successfully uploaded to File System.";
            return(RedirectToAction("Index"));
        }
Beispiel #2
0
 public bool FileExists(string path) => FilesOnFileSystem.ContainsKey(path);