我想使用android studio从亚马逊s3桶中删除一个文件

问题描述 投票:0回答:3

我试图使用android studio从s3桶中删除文件。我按照下面的教程设置了我的桶。 https://grokonez.com/android/uploaddownload-files-images-amazon-s3-android。上传和下载工作正常。但是当我尝试删除文件时,我的应用程序崩溃了。

这是我正在使用的代码

BasicAWSCredentials credentials = new BasicAWSCredentials(KEY, SECRET);
AmazonS3Client s3Client = new AmazonS3Client(credentials);
s3Client.deleteObject(bucketName, folderPath);
java android amazon-web-services android-studio amazon-s3
3个回答
0
投票

您的folderPath变量可能不包含指定存储桶中对象的有效密钥。


0
投票

您正在遭遇此崩溃,因为Android不允许您从主线程进行网络调用。您需要从后台线程包装此调用。

new Thread(new Runnable() {
   public void run() 
           BasicAWSCredentials credentials = new BasicAWSCredentials(KEY, SECRET);
           AmazonS3Client s3Client = new AmazonS3Client(credentials);
           s3Client.deleteObject(bucketName, folderPath);
   }
}).start();

0
投票

你应该在后台线程中调用delete object方法。

new Thread(new Runnable() { @Override public void run() { s3client.deleteObject(new DeleteObjectRequest(AWS_BUCKET, "Path")); } }).start();