Пример #1
0
        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
                });
            }
        }
Пример #2
0
 public async Task <IActionResult> Generate(
     [FromBody] ImagesPostRequest imagesPostRequest,
     [FromServices] IImageProcessorService imageProcessor)
 => Json(await imageProcessor.ProcessImagesAsync($"{Request.Scheme}://{Request.Host}{Request.PathBase}", imagesPostRequest));
Пример #3
0
 public async Task <IActionResult> Generate(
     [FromBody] ImagesPostRequest imagesPostRequest,
     [FromServices] IImageProcessorService imageProcessor)
 => Json(await imageProcessor.ProcessImagesAsync("http://friend-finder-server.azurewebsites.net/", imagesPostRequest));
Пример #4
0
 public async Task <IActionResult> Generate(
     [FromBody] ImagesPostRequest imagesPostRequest,
     [FromServices] IImageProcessorService imageProcessor)
 => Json(await imageProcessor.ProcessImagesAsync("https://ccc-socialize.azurewebsites.net/", imagesPostRequest));