Exemplo n.º 1
0
        public void SerializeShrinkMessage()
        {
            var s1 = new ShrinkMessage("7F47F842-0CAA-486C-852D-92DF56E80B09", "test.png", "https://www.google.com/test.png", DateTimeOffset.UtcNow);

            var message = SerializeMessage(s1);

            var s2 = DeserializeMessage <ShrinkMessage>(message);

            Assert.AreEqual(s1, s2);
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Index(UploadViewModel model)
        {
            CheckIsNotNull(nameof(model), model);

            var image = model.Upload.Image;

            try
            {
                long size = image.Length;

                // full path to file in temp location
                var    imageExt       = GetImageExtension(image.FileName);
                var    imageName      = GetTempFileName(imageExt);
                var    imageInfo      = new FileInfo(imageName);
                Uri    imageUri       = null;
                string folder         = model.RequestId.ToString();
                string imageShortName = imageInfo.Name;

                if (image.Length > 0)
                {
                    // Removed for brevity
                    using (var stream = image.OpenReadStream())
                    {
                        imageUri = await UploadBlobAsync(_d.Settings.StorageAccount, "images", $"{folder}/{imageShortName}", stream, image.ContentType);
                    }

                    var shrinkMessage = new ShrinkMessage {
                        Image = new ShrinkImage(folder, imageShortName, $"{imageUri}")
                    };

                    await SendMessageAsync(_d.Settings.StorageAccount, "shrink", shrinkMessage);
                }

                var vm = new ConvertViewModel
                {
                    Folder           = folder,
                    OriginalImageUrl = imageUri.ToString(),
                    NewImageUrl      = imageUri.ToString().Replace(imageExt, ".webp")
                };

                return(View("Convert", vm));
            }
            catch (Exception ex)
            {
                _d.Logger.LogError(ex.Message);
                throw;
            }
        }