public async Task <ImagesPostResponse> ProcessImagesAsync(string baseUrl, ImagesPostRequest request) { try { var id = Guid.NewGuid().ToString(); var imageBytes = request.Images .Select(img => img.Replace(Base64PngImagePrefix, string.Empty)) .Select(Convert.FromBase64String) .ToArray(); var image = Image.Load(imageBytes[0]); image.MetaData.RepeatCount = 0; for (var i = 1; i < imageBytes.Length; ++i) { image.Frames.AddFrame(Image.Load(imageBytes[i]).Frames[0]); } // Ensure that all the frames have the same delay foreach (var frame in image.Frames) { frame.MetaData.FrameDelay = (int)(_processingOptions.FrameDelay * .1); } await UploadImageAsync(id, image); Uri getUrl = _imageRepository.GetImageUriAsync(id).Result; //_textMessagingService.SendText($"+{request.Phone}", $"{baseUrl}/{id}"); return(new ImagesPostResponse { Id = id, IsSuccessful = true, Url = getUrl.ToString() }); } catch (Exception ex) { ex.TryLogException(_logger); return(new ImagesPostResponse { IsSuccessful = false, Error = ex.Message }); } }
public async Task <IActionResult> Generate( [FromBody] ImagesPostRequest imagesPostRequest, [FromServices] IImageProcessorService imageProcessor) => Json(await imageProcessor.ProcessImagesAsync($"{Request.Scheme}://{Request.Host}{Request.PathBase}", imagesPostRequest));
public async Task <IActionResult> Generate( [FromBody] ImagesPostRequest imagesPostRequest, [FromServices] IImageProcessorService imageProcessor) => Json(await imageProcessor.ProcessImagesAsync("http://friend-finder-server.azurewebsites.net/", imagesPostRequest));
public async Task <IActionResult> Generate( [FromBody] ImagesPostRequest imagesPostRequest, [FromServices] IImageProcessorService imageProcessor) => Json(await imageProcessor.ProcessImagesAsync("https://ccc-socialize.azurewebsites.net/", imagesPostRequest));