//
        // GET: /AmazonS3/
        public ActionResult Index(string filename = "Azalea.jpg")
        {
            var vm = new AmazonViewModel
            {
                Filename = filename
            };

            return(View(vm));
        }
        public ActionResult Index(HttpPostedFileBase file)
        {
            var imageBytes     = ReadFully(file.InputStream);
            var s3Client       = new S3Client();
            var resizeSettings = new ResizeSettings
            {
                Settings = new List <ResizeSetting>
                {
                    new ResizeSetting
                    {
                        Name          = "Large",
                        Width         = 700,
                        ImageEncoding = ImageEncoding.Jpg90
                    },
                    new ResizeSetting
                    {
                        Name          = "Small",
                        Width         = 300,
                        ImageEncoding = ImageEncoding.Jpg90
                    },
                    new ResizeSetting
                    {
                        Name          = "Thumb",
                        Width         = 100,
                        Height        = 100,
                        ImageEncoding = ImageEncoding.Jpg
                    }
                }
            };

            Parallel.ForEach(resizeSettings.Settings, resizeSetting =>
            {
                var imageResizer = new ImageResizer(imageBytes);

                string fileName  = Path.GetFileNameWithoutExtension(file.FileName) + "_" + resizeSetting.Name + ".jpg";
                var resizedImage = resizeSetting.Height > 0
                    ? imageResizer.Resize(resizeSetting.Width, resizeSetting.Height, true, resizeSetting.ImageEncoding)
                    : imageResizer.Resize(resizeSetting.Width, resizeSetting.ImageEncoding);
                string result = s3Client.AddFile(fileName, new MemoryStream(resizedImage));
            });

            var vm = new AmazonViewModel
            {
                Filename          = file.FileName,
                S3BaseUrl         = Settings.Default.S3BaseUrl,
                CloudfrontBaseUrl = Settings.Default.CloudfrontBaseUrl,
                Bucket            = Settings.Default.AWSPublicFilesBucket,
                ResizeSettings    = resizeSettings
            };

            return(View("Index", vm));
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> AmazonInformation(AmazonViewModel model)
        {
            var userId = User.Identity.GetUserId();
            var user   = await UserManager.FindByIdAsync(userId);

            if (ModelState.IsValid)
            {
                user.SellerId       = model.SellerId;
                user.DeveloperToken = model.DeveloperToken;
                var result = await UserManager.UpdateAsync(user);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                AddErrors(result);
            }

            return(View(model));
        }