public async Task <ActionResult <Image> > Post()
        {
            using (var stream = HttpContext.Request.BodyReader.AsStream())
            {
                using (var memoryStream = new MemoryStream())
                {
                    await stream.CopyToAsync(memoryStream);

                    var extention = _fileMetadataService.GetExtentionByContentType(Request.ContentType);

                    var addImageData = new AddImageData
                    {
                        Extention = extention,
                        Data      = memoryStream.ToArray()
                    };

                    var bllAddImageData = _mapper.Map <BLL.Models.Images.AddImageData>(addImageData);
                    var bllResult       = await _imageService.AddImageAsync(bllAddImageData);

                    var result = _mapper.Map <Image>(bllResult);

                    return(result);
                }
            }
        }
Exemple #2
0
        public async Task <Image> AddImageAsync(AddImageData data)
        {
            var dalData = _mapper.Map <DAL.Models.AddImageData>(data);

            var dalResult = await _imageRepository.AddAsync(dalData);

            return(_mapper.Map <Image>(dalResult));
        }
Exemple #3
0
        public async Task <Image> AddAsync(AddImageData image)
        {
            try
            {
                var name        = Guid.NewGuid().ToString() + image.Extention;
                var newFilePath = Path.Combine(_storagePath, name);

                await File.WriteAllBytesAsync(newFilePath, image.Data);

                return(new Image
                {
                    Name = name,
                    Data = image.Data
                });
            }
            catch
            {
                return(null);
            }
        }