【发布时间】:2013-02-05 05:21:54
【问题描述】:
我正在尝试使用 AWS 开发工具包将文件上传到 Amazon S3 存储桶。
class LogToS3Bucket extends Thread{
public void run() {
super.run();
Gdx.app.log("msg", "secondThreadRunning yeahhhhh!");
File fileToPut = new File("../../../MyProject", "settings.txt");
String accessKey = "<accessKey>";
String secretKey = "<secretKey>";
AWSCredentials credentials = new BasicAWSCredentials(accessKey, secretKey);
AmazonS3 conn = new AmazonS3Client(credentials);
conn.putObject("bucketname", "filename.txt", fileToPut);
}
}
但它不起作用,它会在调用 .putObject() 时引发错误
Exception in thread "Thread-1" Status Code: 400, AWS Service: Amazon S3, AWS Error Code: BadDigest, AWS Error Message: The Content-MD5 you specified did not match what we received.
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:614)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:312)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:165)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2951)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:1123)
at com.amazonaws.services.s3.AmazonS3Client.putObject(AmazonS3Client.java:979)
at com.myproject.LogToS3Bucket.run(LogToS3Bucket.java:22)
【问题讨论】:
-
您是否尝试过他们随 AWS android sdk 提供的示例?
-
是的,这就是示例代码。不过,它在我的手机上不起作用。我认为您必须将 android sdk 用于 android 设备。这有点烦人,因为我需要一个跨平台的解决方案。
标签: java android amazon-web-services libgdx