示例#1
0
        /// <inheritdoc/>
        public async Task StoreImage(MD5 md5, byte[] content, string imageUrl)
        {
            var hash  = md5.ComputeHash(content).ToHashString();
            var image = Image.Load(content, out var _);

            content = ResizeImage(image, 200);
            var imageItemInDatabase = await _imagesRepository.GetImageByHash(hash);

            if (imageItemInDatabase != null && imageItemInDatabase.ImageUrl != imageUrl)
            {
                _logger.LogWarning($"The following urls have the same image:\n{imageItemInDatabase.ImageUrl}\n{imageUrl}");
            }
            await _imagesRepository.StoreImage(new ImageItem
            {
                ImageUrl = imageUrl,
                Data     = $"data:image/jpeg;base64," + Convert.ToBase64String(content),
                Hash     = hash
            });
        }