我想使用Android Studio从Amazon S3存储桶中删除文件

时间:2018-10-04 12:15:49

标签: java android amazon-web-services android-studio amazon-s3

我正在尝试使用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);

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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();

答案 2 :(得分:0)

您应该在后台线程中调用delete对象方法。

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