android - 将图像上传到 Amazon S3

标签 android amazon-s3

我需要将位图上传到 Amazon S3。以下是我到目前为止的代码,是在阅读文档和示例代码后构建的。

public class AmazonS3Test {

private static final String TAG = "MyApp.AmazonS3Stuff";
private static AmazonS3 mS3 = null;
private static final String mS3BucketName = "bucketname";
private static BasicAWSCredentials mCredentials = new BasicAWSCredentials(".....", "....");

private static void uploadImageToAmazonS3(String key, File file) {
    PutObjectRequest request = new PutObjectRequest(mS3BucketName, key, file);
    try {
        PutObjectResult result = getS3Instance().putObject(request);
    } catch (AmazonClientException e) {
        Log.e(TAG, "Amazon exception uploading the image to Amazon S3 " + key + " " + mS3BucketName, e);
    } catch (Exception e) {
        Log.e(TAG, "Exception uploading the image to Amazon S3 " + key + " " + mS3BucketName, e);
    }
    // TODO Handle result
}

private static AmazonS3 getS3Instance() {
    if (mS3 == null) {
        mS3 = new AmazonS3Client(mCredentials);    // <---- Exception here
    }
    return mS3;
}

堆栈跟踪:

    Caused by: java.lang.NoSuchMethodError: org.apache.commons.httpclient.params.i.a
    at com.amazonaws.http.HttpClient.<init>(Unknown Source)
    at com.amazonaws.AmazonWebServiceClient.<init>(Unknown Source)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(Unknown Source)
    at com.amazonaws.services.s3.AmazonS3Client.<init>(Unknown Source)
    at com.addapps.taxiapp.utils.Utils.getS3Instance(AmazonS3Test.java)

我不知道那个异常是什么意思,也不知道为什么我无法获得 AmazonS3 的实例。

我真的在与 S3 作斗争,所以如果有人能给我指出任何好的资源,我将非常感激。

最佳答案

此异常是由于我在项目中没有所有必需的 AWS 库引起的。 AWS 有很多不同形式的库,虽然不清楚哪些是必需的,但只有在出现正确的库时才会起作用。

关于android - 将图像上传到 Amazon S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448178/

相关文章:

android - Google Play 平板电脑优化技巧 - 如何解决问题?

java - Android - 将对象保存在内部存储器上

android - Eclipse - 每次运行都会启动新的模拟器

java - Android SkImageDecoder::Factory 在解码图像时返回 null

c# - 适用于 .net 的 AWS 开发工具包。如何设置 PutObjectRequest 文件名

amazon-web-services - 如何将 AWS DynamoDB 表导出到 S3 存储桶?

java - 安卓 : convert binary string to byte

amazon-web-services - 在 s3 存储桶中使用 'folders' 有什么好处吗?

amazon-web-services - 如何使用 CloudFormation 将 IAM 角色与 Aurora 集群关联?

c# - 如何使用 Amazon S3 ResponseStream 返回 FileResult?