簡體   English   中英

從亞馬遜 s3 存儲桶中刪除文件時出錯

[英]Error while deleting a file from amazon s3 bucket

我正在嘗試使用 AWS SDK android 從 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);

您應該在后台線程中調用刪除對象方法。

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

您的folderPath變量可能不包含指定存儲桶中對象的有效密鑰。

您之所以會發生此崩潰,是因為 Android 不允許您從主線程進行網絡調用。 您需要從后台線程包裝此調用。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM