Exemple #1
0
        public async Task <ActionResult> Index()
        {
            var lstKeys = await TinifyHelperExtensions.GenerateTinifyApiKeysLocalAsync();

            var bytes  = new byte[1];
            var tinify = new TinifyImage(lstKeys, bytes);

            ViewBag.Title       = "Home Page";
            ViewBag.CountRemain = tinify.CompressRemainCount().ToString();
            return(View());
        }
        public async Task <IHttpActionResult> Compress(PostData postData)
        {
            try
            {
                var bytes   = Convert.FromBase64String(postData.Image);
                var lstKeys = await TinifyHelperExtensions.GenerateTinifyApiKeysLocalAsync();

                var tinify = new TinifyImage(lstKeys, bytes);
                var bytes2 = await tinify.CompressAsync();

                var result = new
                {
                    compressPercent = $"{bytes.Length} -> {bytes2.Length} ({(1-(double)bytes2.Length / bytes.Length).ToString("0.##")}%)",
                    image           = Convert.ToBase64String(bytes2)
                };
                return(Ok(result));
            }
            catch (Exception exp)
            {
                return(new System.Web.Http.Results.ExceptionResult(exp, this));
            }
        }