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")); }
public bool FileExists(string path) => FilesOnFileSystem.ContainsKey(path);