public static void CreateS3Folder(string folderName) { var client = new AmazonClient(); using (client.S3Client) { var request = new PutObjectRequest(); request.BucketName = client.BucketName; request.Key = string.Concat(folderName, "/"); request.InputStream = new MemoryStream(); client.S3Client.PutObject(request); } client = new AmazonClient(); using (client.S3Client) { var request = new PutObjectRequest(); request.BucketName = client.BucketName; request.Key = string.Concat(folderName, "/fulls/"); request.InputStream = new MemoryStream(); client.S3Client.PutObject(request); request = new PutObjectRequest(); request.BucketName = client.BucketName; request.Key = string.Concat(folderName, "/thumbs/"); request.InputStream = new MemoryStream(); client.S3Client.PutObject(request); } }
public static Album GetAlbumImages(Album album) { var client = new AmazonClient(); var objectList = GetAllImages(); foreach (S3Object image in objectList) { if (image.Key.Contains(album.Directory) && image.Size > 0) { if (image.Key.Contains("fulls")) { album.FullImages.Add(image); } else if (image.Key.Contains("thumbs")) { album.ThumbImages.Add(image); } } if (image.Key.Contains("Dashboard") && image.Key.Contains(album.Directory)) { album.DirectoryImage = image; } } return(album); }
public static void UploadS3Image(Image img, string s3Key) { string objectKey = s3Key; var client = new AmazonClient(); using (client.S3Client) { GetPreSignedUrlRequest request = new GetPreSignedUrlRequest { BucketName = client.BucketName, Key = objectKey, Verb = HttpVerb.PUT, Expires = DateTime.Now.AddMinutes(5) }; string url = client.S3Client.GetPreSignedURL(request); HttpWebRequest httpRequest = WebRequest.Create(url) as HttpWebRequest; httpRequest.Method = "PUT"; using (Stream dataStream = httpRequest.GetRequestStream()) { byte[] buffer = new byte[8000]; using (Stream image = ToStream(img, ImageFormat.Jpeg)) { int bytesRead = 0; while ((bytesRead = image.Read(buffer, 0, buffer.Length)) > 0) { dataStream.Write(buffer, 0, bytesRead); } } } HttpWebResponse response = httpRequest.GetResponse() as HttpWebResponse; } }
public static List <S3Object> GetAllImages() { var objectList = new List <S3Object>(); var client = new AmazonClient(); using (client.S3Client) { ListObjectsRequest request = new ListObjectsRequest { BucketName = client.BucketName, }; ListObjectsResponse response = client.S3Client.ListObjects(request); foreach (S3Object entry in response.S3Objects) { objectList.Add(entry); } } return(objectList); }
public static void DeleteImage(string key) { var client = new AmazonClient(); using (client.S3Client) { DeleteObjectRequest request = new DeleteObjectRequest(); request.BucketName = client.BucketName; request.Key = key; client.S3Client.DeleteObject(request); request = new DeleteObjectRequest(); request.BucketName = client.BucketName; request.Key = key.Replace("thumbs", "fulls"); client.S3Client.DeleteObject(request); } }