public override IImageSource Save(byte[] image, string extension = "", string path = "")
        {
            var imageSource = new ImageSource();

            var key = string.Format("{0}.data", Guid.NewGuid());
            var thumbnailKey = GetThumbnailName(key);

            var contentType = new FileExtension(extension).GetContentType();

            var blob = _container.GetBlockBlobReference(key);
            blob.SetContentType(contentType);

            using (var memoryStream = new MemoryStream(image))
            {
                memoryStream.Position = 0;
                blob.UploadFromStream(memoryStream);
            }

            imageSource.Source = blob.Uri.AbsoluteUri;

            blob = _container.GetBlockBlobReference(thumbnailKey);
            blob.SetContentType(contentType);

            using (var memoryStream = new MemoryStream(GetThumbnail(image)))
            {
                memoryStream.Position = 0;
                blob.UploadFromStream(memoryStream);
            }

            imageSource.Thumbnail = blob.Uri.AbsoluteUri;

            return imageSource;
        }
        public override IImageSource Save(byte[] image, string extension = "", string path = "")
        {
            var imageSource = new ImageSource();

            var key = string.Format("{0}.data", Path.Combine(path, Guid.NewGuid().ToString()));
            var thumbnailKey = GetThumbnailName(key);

            var contentType = new FileExtension(extension).GetContentType();

            using (var memoryStream = new MemoryStream(image))
            {
                memoryStream.Position = 0;

                imageSource.Source = _client.PutRequest(key, memoryStream, contentType);
            }

            using (var memoryStream = new MemoryStream(GetThumbnail(image)))
            {
                memoryStream.Position = 0;

                imageSource.Thumbnail = _client.PutRequest(thumbnailKey, memoryStream, contentType);
            }

            return imageSource;
        }