/// <summary> /// Put an object to an S3 bucket /// from a stream. /// </summary> /// <param name="bucket">The name of the bucket to upload to.</param> /// <param name="key">The key to store the object as on S3.</param> /// <param name="stream">The stream representing the file data.</param> /// <param name="storageClass">The Amazon.S3.S3StorageClass for the file (default standard)</param> /// <returns></returns> public static Amazon.S3.Model.PutObjectResponse PutObjectResponse(string bucket, string key, Stream stream, Amazon.S3.S3StorageClass storageClass = null) { Amazon.S3.Model.PutObjectResponse response = new Amazon.S3.Model.PutObjectResponse(); using (Amazon.S3.IAmazonS3 client = new Factory().S3Client()) { Amazon.S3.Model.PutObjectRequest request = new Amazon.S3.Model.PutObjectRequest() { BucketName = bucket, Key = key, StorageClass = (storageClass == null ? Amazon.S3.S3StorageClass.Standard : storageClass), InputStream = stream }; response = client.PutObject(request); } return response; }