全部产品
阿里云办公

删除文件

更新时间:2018-07-24 18:22:05

请您谨慎使用删除操作,文件一旦删除将无法恢复。

删除单个文件

以下代码用于删除单个文件:

  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