public async Task <ActionResult <VideoFileModel> > GenerateThumbnails([FromBody] ThumbnailDTO thumbnailDTO) { if (!ModelState.IsValid) { return(BadRequest("Invalid data model")); } var result = await _videoConverterService.GenerateThumbnails(thumbnailDTO); return(Ok(result)); }
public async Task <VideoFileModel> GenerateThumbnails(ThumbnailDTO thumbnailDTO) { try { var videoFile = await GetVideo(thumbnailDTO.VideoId); string inputFile = Path.Combine(videoFile.FileDirectory, videoFile.Filename); var addedThumbnails = await _ffmpeg.GetVideoThumbails(inputFile, thumbnailDTO.TimestampOfScreenshots); addedThumbnails.ForEach(t => t.ParentVideoFileId = videoFile.Id); await _dbContext.Thumbnails.AddRangeAsync(addedThumbnails); await _dbContext.SaveChangesAsync(); return(_mapper.Map <VideoFileModel>(videoFile)); } catch (Exception ex) { Debug.WriteLine(ex.Message); throw new Exception("Internal server error"); } }
public async Task UploadProfilePicture(string _appEnvironment, IFormFile image, string Email) { var mapper = new Mapper(config); var fileName = ContentDispositionHeaderValue.Parse(image.ContentDisposition).FileName.Trim('"'); string path = "/Images/" + fileName; using (var fileStream = new FileStream(_appEnvironment + path, FileMode.Create)) { await image.CopyToAsync(fileStream); } var user = await unit.Users.Find(d => d.Email == Email); ThumbnailDTO uploadedImage = new ThumbnailDTO { Link = "https://localhost:44340" + path }; Thumbnail pic = mapper.Map <Thumbnail>(uploadedImage); pic.UserId = user; await unit.Thumbnails.Create(pic); unit.Save(); }
public async Task UpdateProfilePicture(string _appEnviroment, IFormFile newImage, ThumbnailDTO oldImage, string user) { var mapper = new Mapper(config); var imgName = oldImage.Link.Split('/')[4]; File.Delete(_appEnviroment + "\\Images\\" + imgName); var fileName = ContentDispositionHeaderValue.Parse(newImage.ContentDisposition).FileName.Trim('"'); string path = "/Images/" + fileName; using (var fileStream = new FileStream(_appEnviroment + path, FileMode.Create)) { await newImage.CopyToAsync(fileStream); } oldImage.Link = "https://localhost:44340" + path; unit.Thumbnails.Update(mapper.Map <Thumbnail>(oldImage)); unit.Save(); }