阿里雲團隊努力不懈,力求將最新的技術內容更快地以您最熟悉的語言呈現。本文由簡體中文內容自動轉碼而成,過程無人工干預。阿里雲不保證此自動轉碼的準確性、完整性及時效性。因轉碼造成的任何內容錯誤及因此可能帶來的損失,阿里雲概不負責,敬請見諒。本文内容請以簡體中文版本為準。
全部產品
Search
文件中心

刪除檔案

更新時間: Oct 19, 2018

請您謹慎使用刪除操作,檔案一旦刪除將無法恢複。

刪除單個檔案

以下代碼用於刪除單個檔案:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. String objectName = "<yourObjectName>";
  8. // 建立OSSClient執行個體。
  9. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  10. // 刪除檔案。
  11. ossClient.deleteObject(bucketName, objectName);
  12. // 關閉OSSClient。
  13. ossClient.shutdown();

刪除多個檔案

每次最多刪除1000個檔案。有兩種返回模式:詳細(verbose)模式和簡單(quiet)模式:

  • 詳細模式:返回刪除成功的檔案清單。預設為詳細模式。
  • 簡單模式:返回刪除失敗的檔案清單。

DeleteObjectsRequest的參數如下:

參數 描述 方法
Keys 需要刪除的檔案。 setKeys(List<String>)
quiet 返回模式。true表示簡單模式,false表示詳細模式。預設為詳細模式。 setQuiet(boolean)
encodingType 指定對返回的檔案名稱進行編碼,目前僅支援url。 setEncodingType(String)

DeleteObjectsResult的參數如下:

參數 描述 方法
deletedObjects 刪除結果。詳細模式下為刪除成功的檔案清單,簡單模式下為刪除失敗的檔案清單。 List<String> getDeletedObjects()
encodingType deletedObjects中檔案名稱的編碼,為空表示沒有編碼。 getEncodingType()

以下代碼用於大量刪除檔案:

  1. // Endpoint以杭州為例,其它Region請按實際情況填寫。
  2. String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
  3. // 阿里雲主帳號AccessKey擁有所有API的存取權限,風險很高。強烈建議您建立並使用RAM帳號進行API訪問或日常運維,請登入 https://ram.console.aliyun.com 建立RAM帳號。
  4. String accessKeyId = "<yourAccessKeyId>";
  5. String accessKeySecret = "<yourAccessKeySecret>";
  6. String bucketName = "<yourBucketName>";
  7. // 建立OSSClient執行個體。
  8. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  9. // 刪除檔案。
  10. List<String> keys = new ArrayList<String>();
  11. keys.add("key0");
  12. keys.add("key1");
  13. keys.add("key2");
  14. DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(new DeleteObjectsRequest(bucketName).withKeys(keys));
  15. List<String> deletedObjects = deleteObjectsResult.getDeletedObjects();
  16. // 關閉OSSClient。
  17. ossClient.shutdown();

大量刪除檔案的完整代碼請參見GitHub