public async Task <ActionResult> Post([FromForm] RawFIleUpload rawFileUpload)
        {
            byte[] fileBytes;
            var    fileUpload = JsonConvert.DeserializeObject <FIleUpload>(rawFileUpload.Details);

            await using (var memoryStream = new MemoryStream())
            {
                await rawFileUpload.File.CopyToAsync(memoryStream);

                fileBytes = memoryStream.ToArray();
            }

            if (await _imagesRepository.GetImage(fileUpload.Name, ImageType.Thumbnail) != null)
            {
                return(BadRequest($"{rawFileUpload.File.FileName} already exists"));
            }

            var imageData = new ImageData
            {
                FileName    = fileUpload.Name,
                Type        = rawFileUpload.File.ContentType,
                Description = fileUpload.Description,
                Location    = fileUpload.Location,
                Image       = fileBytes
            };

            imageData.People = fileUpload.People.Select(p => p.Id).ToList();

            await _imagesRepository.SaveImage(imageData);

            return(Ok("Image saved"));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Post([FromForm] FIleUpload fileUpload)
        {
            byte[] fileBytes;
            using (var memoryStream = new MemoryStream())
            {
                await fileUpload.File.CopyToAsync(memoryStream);

                fileBytes = memoryStream.ToArray();
            }

            var imageData = new ImageData
            {
                FileName    = fileUpload.File.FileName,
                Type        = fileUpload.File.ContentType,
                Description = fileUpload.Description,
                Location    = "",
                Image       = fileBytes
            };

            await _imagesRepository.SaveImage(imageData);

            return(Ok());
        }