コード例 #1
0
        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"));
        }
コード例 #2
0
        public async Task <IActionResult> GetImg(string fileName)
        {
            var imageData = await _imagesRepository.GetImage(fileName, ImageType.Original);

            return(File(imageData.Image, imageData.Type));
        }