package org.mortbay.ijetty.console; import java.net.URISyntaxException; import java.net.URL; import java.util.Date; import javax.servlet.ServletConfig; import android.net.Uri; import com.amazonaws.auth.BasicAWSCredentials; import com.amazonaws.services.s3.AmazonS3Client; import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest; import com.amazonaws.services.s3.model.ResponseHeaderOverrides; public class AmazonS3Service { AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials( Constant.ACCESS_KEY_ID, Constant.SECRET_KEY)); public String getValue(String requestURL, ServletConfig config) { S3TaskResult result = new S3TaskResult(); // Ensure that the image will be treated as such. ResponseHeaderOverrides override = new ResponseHeaderOverrides(); override.setContentType("image/jpeg"); // Generate the presigned URL. // Added an hour's worth of milliseconds to the current time. Date expirationDate = new Date(System.currentTimeMillis() + 3600000); GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest( Constant.getPictureBucket(), Constant.PICTURE_NAME); urlRequest.setExpiration(expirationDate); urlRequest.setResponseHeaders(override); URL url = s3Client.generatePresignedUrl(urlRequest); return url.toString(); } private class S3TaskResult { String errorMessage = null; Uri uri = null; public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } public Uri getUri() { return uri; } public void setUri(Uri uri) { this.uri = uri; } } }