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