/// <summary>
        ///     Used for make image url to be base64 url which has header id means has multiple images
        /// </summary>
        /// <param name="id">header id => product id</param>
        /// <param name="item">Model has image</param>
        /// <param name="fileUtility">file utility helper</param>
        /// <param name="folderName">folder group name => Manufacturer, Product, Category</param>
        /// <param name="cancellationToken"></param>
        /// <returns>base64 format image model</returns>
        public static async Task <T> GetImageBase64UrlAsync(string id, T item, IFileUtility fileUtility,
                                                            string folderName, CancellationToken cancellationToken)
        {
            var imageFileExtension = Path.GetExtension(item.ImageName);

            var buffer = await fileUtility.ReadFileAsync(folderName + "/" + id, item.ImageName, cancellationToken);

            item.ImageUrl = "data:image/" + imageFileExtension.Substring(1) + ";base64," +
                            Convert.ToBase64String(buffer);
            return(item);
        }
        public async Task <IActionResult> GetManufacturerImageAsync(int id, CancellationToken cancellationToken)
        {
            if (id <= 0)
            {
                return(BadRequest(new { Message = $"Invalid Manufacturer Id." }));
            }

            var item = await _catalogContext.Manufacturers
                       .SingleOrDefaultAsync(ci => ci.Id == id, cancellationToken);

            if (item != null)
            {
                var imageFileExtension = Path.GetExtension(item.ImageName);
                var mimetype           = FileHelper.GetImageMimeTypeFromImageFileExtension(imageFileExtension);

                var buffer =
                    await _fileUtility.ReadFileAsync("Manufacturer/" + item.Id, item.ImageName, cancellationToken);

                return(File(buffer, mimetype));
            }

            return(NotFound());
        }