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); } } }
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)); }
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); } }