public async Task <FilmFile> CreateAsync(Guid filmId, FilmFile newFile) { var film = await filmRepository.GetAsync(filmId).ConfigureAwait(false); newFile.Film = film; filmFileRepository.Add(newFile); await filmFileRepository.SaveChangesAsync().ConfigureAwait(false); return(newFile); }
public async Task <IActionResult> PostFile(FileToUpload file, Guid idFilm) { await Task.Yield(); try { if (((file.files.Length / 1024f) / 1024f) > 100) { return(BadRequest("Error in file upload. File can't be greater than 100 mb corrupt or invalid")); } else if (file.files.Length != 0) { if (!Directory.Exists(environment.WebRootPath + "\\UploadedFiles\\")) { Directory.CreateDirectory(environment.WebRootPath + "\\UploadedFiles\\"); } using (FileStream fileStream = System.IO.File.Create(environment.WebRootPath + "\\UploadedFiles\\" + file.files.FileName)) { file.files.CopyTo(fileStream); fileStream.Flush(); FilmFile newFilmFile = new FilmFile() { Id = Guid.NewGuid(), Name = file.files.FileName, UploadDate = DateTime.Now, Size = ((file.files.Length / 1024f) / 1024f), }; var createdFile = await filmFileLogic.CreateAsync(idFilm, newFilmFile).ConfigureAwait(false); return(Ok(createdFile)); } } else { return(BadRequest("Error in file upload. File was corrupt or invalid")); } } catch (Exception) { return(BadRequest("Error in file upload. File was corrupt or invalid")); } }