Exemple #1
0
        public async Task <IActionResult> ImportImage(IFormFile uploadingFile)
        {
            if (uploadingFile == null)
            {
                return(BadRequest());
            }

            var imageCreationInfo = new ImageCreationInfo
            {
                Name   = uploadingFile.FileName,
                UserId = (await this.userService.GetUserByLogin(User.Identity.Name)).Id
            };
            Image image;

            try
            {
                image = await this.imageService.ImportImage(imageCreationInfo, uploadingFile.OpenReadStream());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }

            return(Ok(image));
        }
Exemple #2
0
        public async Task <Image> ImportImage(ImageCreationInfo imageCreationInfo, Stream uploadingFileStream)
        {
            var image = new Image
            {
                Name         = imageCreationInfo.Name,
                CreationTime = DateTime.Now,
                UserId       = imageCreationInfo.UserId,
                Filename     = Path.Combine(this.imageFileRepository.DirectoryInfo.FullName, imageCreationInfo.Name)
            };

            //Needs transactions.
            await this.dbImageRepository.AddImage(image);

            await this.imageFileRepository.Save(image.Name, uploadingFileStream);

            image.Base64 = await GetImageBase64(image);

            return(image);
        }