public async Task <IActionResult> Upload(FileData fileData) { if (ModelState.IsValid) { var CurrentDate = DateTime.Now; var UploadDate = CurrentDate.ToString("yyyyMMdd_hhmmss"); var userfileName = User.Identity.Name.ToString(); var RootFolder = _hostingEnvironment.WebRootPath; var UsersFileLocation = "UsersDirectory"; //var RootFfolderString = "wwwroot"; var UserDirectory = $"{_hostingEnvironment.WebRootPath}/{UsersFileLocation}/{userfileName}/{UploadDate}"; //var UserFilesDirectoryRelative = $"{RootFfolderString}/{UsersFileLocation}/{userfileName}/{UploadDate}"; var UserFilesDirectoryRelative = $"{UsersFileLocation}/{userfileName}/{UploadDate}"; var ImageFileLocationPaths = new List <String>(); //Check if user Directory exsists , if not creates new directory var exsits = Directory.Exists(UserDirectory); if (!exsits) { Directory.CreateDirectory(UserDirectory); } foreach (var ObjFile in fileData.ObjFile) { var filePathName = ContentDispositionHeaderValue.Parse(ObjFile.ContentDisposition).FileName.Trim('"'); var fileExtention = Path.GetExtension(filePathName); if (!(fileExtention == ".obj" || fileExtention == ".OBJ")) { return(RedirectToAction("ErrorPage")); } var uploads = Path.Combine(RootFolder, UsersFileLocation, userfileName, UploadDate); var fileName = Guid.NewGuid().ToString("N").Substring(0, 10); var FileNameFull = fileName + fileExtention; var StaticPath = Path.Combine(uploads, FileNameFull); var StaticPathNameNoExtension = Path.Combine(uploads, fileName); var RelativePaths = $"{UserFilesDirectoryRelative}/{FileNameFull}"; //the image will be saved with a unique filename FileStream DestinationStream = new FileStream(StaticPath, FileMode.CreateNew); //ImageFileLocationPaths.Add(PathObjRelative); //the image will be saved with a unique filename // ImageFile.CopyToAsync(DestinationStream); ObjFile.CopyTo(DestinationStream); var currentUser = await _userManager.FindByNameAsync(User.Identity.Name); var ObjectFile = new ObjFile { FileName = FileNameFull, StaticFilePath = StaticPath, RelativeFilePath = RelativePaths, FK_ApplicatioUserId = currentUser.Id, UploadedTime = CurrentDate }; repo.Add(ObjectFile); } //var ImageFileLocationArray = ImageFileLocationPaths.ToArray(); return(RedirectToAction("UploadCompelete")); } else { return(View("Error")); } }