private Task PutImageRecord(ImageSummary imageSummary)
 {
     //TODO need to handle account properly
     return(_dynamoDb.PutItemAsync(
                tableName: "azb.our-photos.images.test",
                item: new Dictionary <string, AttributeValue>
     {
         { "Account", new AttributeValue {
               S = "azb"
           } },
         { "Id", new AttributeValue {
               S = imageSummary.Id
           } },
         { "Caption", new AttributeValue {
               S = imageSummary.Caption
           } },
         { "Created", new AttributeValue {
               N = ToUnixFormat(imageSummary.Created).ToString()
           } },
         { "Updated", new AttributeValue {
               N = ToUnixFormat(imageSummary.Updated).ToString()
           } },
     }
                ));
 }
 public void CreateThumbnail(ImageSummary summary)
 {
     _log.LogInformation($"Create thumbnail for {summary.Id}");
     using (var inStream = File.OpenRead(GetPath(ImageType.FullImage, summary.Id)))
         using (var outStream = File.OpenWrite(GetPath(ImageType.Thumbnail, summary.Id)))
         {
             ImageTransform.WriteThumbnail(inStream, outStream);
         }
 }
        public async Task <ImageSummary> PutImage(byte[] fileContent, string fileName, string contentType, string folder)
        {
            var path = GetPath(ImageType.FullImage, fileName);
            await File.WriteAllBytesAsync(path, fileContent);

            var summary = new  ImageSummary
            {
                Caption = string.Empty,
                Id      = fileName,
            };

            _imageSummaries.Add(summary);
            CreateThumbnail(summary);
            return(summary);
        }
        private async Task PutThumbnail(ImageSummary item, MemoryStream imageStream)
        {
            _log.LogInformation($"PutThumbnail {item.Id}");
            using (var outStream = new MemoryStream())
            {
                _log.LogInformation($"Create thumbnail");
                ImageTransform.WriteThumbnail(imageStream, outStream);

                var request = new PutObjectRequest
                {
                    BucketName  = _options.ThumbNail,
                    Key         = item.Id,
                    ContentType = "image/jpeg",
                    InputStream = outStream
                };

                _log.LogInformation($"Begin S3 Put operation");
                PutObjectResponse response = await _s3client.PutObjectAsync(request);

                _log.LogInformation($"S3 Put operation completes");
            }
            await PutImageRecord(item);
        }
Exemple #5
0
 public static ImageSummary EnrichImageUris(ImageSummary summary)
 {
     summary.Thumbnail = new Uri($"{API_ROUTE}/Thumbnail/{summary.Id}", UriKind.Relative);
     summary.FullImage = new Uri($"{API_ROUTE}/Fullimage/{summary.Id}", UriKind.Relative);
     return(summary);
 }
Exemple #6
0
 public Task Put(int id, [FromBody] ImageSummary value)
 {
     return(_imageProvider.UpdateImage(value));
 }
 public Task UpdateImage(ImageSummary value)
 {
     return(PutImageRecord(value));
 }
 public Task UpdateImage(ImageSummary value)
 {
     _imageSummaries = _imageSummaries.Where(a => a.Id != value.Id).Append(value).ToList();
     return(Task.FromResult(true));
 }