Exemple #1
0
        public async Task SaveThumbAsync(string imgname)
        {
            int s = imgname.IndexOf(';');

            if (s >= 0)
            {
                imgname = imgname.Substring(0, s);
            }
            var pos = imgname.IndexOf(_client.BucketName);

            if (pos > 0)
            {
                // remove //static.gmgard.us/
                imgname = imgname.Substring(pos + _client.BucketName.Length + 1);
                var response = await _client.GetObjectAsync(imgname);

                if (response != null)
                {
                    using (var img = Image.Load(response))
                    {
                        img.Mutate(ctx => ctx.Resize(ImageUtil.GetMaxSize(img, 150)));
                        using (var nms = new MemoryStream())
                        {
                            img.SaveAsJpeg(nms);
                            await _client.PutObjectAsync(imgname.Replace("/upload/", "/thumbs/"), nms);
                        }
                    }
                }
            }
        }