protected Imager CreateImager(Material material) { if (material == null || material.File == null) { throw new CustomArgumentException("Can't create Imager for empty Material!"); } if (_infrastructure.StorageService == null) { throw new CustomArgumentException("FileStorage Service is not presented!"); } if (material.FileType != FileName.FileType.Image) { throw new CustomArgumentException("Can't create Imager for not Image Material!"); } // get path for image file var materialPath = _infrastructure.GetMaterialPath(material); // get image byte array var materialData = _infrastructure.StorageService.ReadFile(materialPath); // create imager object for image return(Imager.Create(materialData)); }
public void ConvertVideo(long materialID) { try { if (_converter == null) { return; } var material = _unitOfWork.MaterialRepository.Get(materialID); if (material == null || material.File == null) { return; } var videoPath = _infrastructure.GetMaterialPath(material); var videoUrl = _infrastructure.StorageService.GetFileUrl(videoPath); var videoFormat = material.File.FileName.Extension.Trim('.'); var input = new InputParameters() { Filepath = videoUrl, InputFormat = videoFormat.ToLower(), InputMethod = InputMethod.Download }; var output = new OutputParameters() { SaveToServer = true }; var conversion = new ConversionParameters() { OutputFormat = "mp4" }; var result = _converter.ConvertAsync(input, output, conversion).Result; if (result != null && !String.IsNullOrWhiteSpace(result.Url)) { Task.Run(() => this.WaitForConvertaion(materialID, result.Url)); } } catch (Exception ex) { } }
public void SaveMaterialThumbnail(Material material) { if (_infrastructure.StorageService == null) { throw new CustomArgumentException("FileStorage Service is not presented!"); } if (material == null || material.File == null) { throw new CustomArgumentException("Can't save Thumbnail for empty Material!"); } // get path for thumbnail file var thumbnailPath = _infrastructure.GetThumbnailPath(material); // thumbnail byte array byte[] thumbnailData = null; if (material.FileType == FileName.FileType.Image) { var materialPath = _infrastructure.GetMaterialPath(material); var materialData = _infrastructure.StorageService.ReadFile(materialPath); if (materialData != null) { thumbnailData = this.CreateImageThumbnail(materialData); } } // try to create default thumbnail if (thumbnailData == null) { thumbnailData = this.CreateDefaultThumbnail(material.FileType); } // save thumbnail byte array to storage if (thumbnailData != null) { _infrastructure.StorageService.SaveFile(thumbnailPath, thumbnailData); } }