【发布时间】:2015-11-05 02:46:34
【问题描述】:
我尝试将图像从我的 amazon s3 存储桶显示到网络浏览器。但是结果给了我一个错误“指定的键不存在”。该文件存在于存储桶中。
这是我的代码
public class TempActivity extends Activity {
ImageView ivTemp;
String key;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_temporary);
ivTemp = (ImageView) findViewById(R.id.imgTemporary);
AmazonS3Client s3Client = new AmazonS3Client(new BasicAWSCredentials(Constants.amazonAccessKeyID,
Constants.amazonSecretAccessKey));
key = "HJiDw6GkuS7gl82N4lCw.jpg";
ResponseHeaderOverrides overrides = new ResponseHeaderOverrides();
overrides.setContentType("image/jpeg");
GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest(Constants.amazonS3BucketName,key);
urlRequest.setExpiration(new Date(System.currentTimeMillis() + 3600000));
urlRequest.setResponseHeaders(overrides);
URL url = s3Client.generatePresignedUrl(urlRequest);
try {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url.toURI().toString())));
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
}
我尝试过这样做:
- http://aws.amazon.com/articles/SDKs/Android/3002109349624271
- http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/s3transferutility.html
- http://www.programcreek.com/java-api-examples/index.php?api=com.amazonaws.services.s3.model.GeneratePresignedUrlRequest
我想做的是从 AWS 上的存储桶下载图像。 请指教。 谢谢
【问题讨论】:
标签: android amazon-web-services amazon-s3