我使用下面的代码从s3删除多个文件
AWSCredentials credentials = new BasicAWSCredentials(key, S3secretKey);
AmazonS3 s3client = new AmazonS3Client(credentials);
String[] fileNames = files.split(",");
if(fileNames.length==1)
s3client.deleteObject(bucketName+path, files);
else{
List<KeyVersion> keys = new ArrayList<KeyVersion>();
for(int i =0 ; i< fileNames.length ; i++){
keys.add(new KeyVersion(fileNames[i]));
}
DeleteObjectsRequest multiObjectDeleteRequest = new DeleteObjectsRequest(bucketName+path);
multiObjectDeleteRequest.setKeys(keys);
DeleteObjectsResult delObjRes = s3client.deleteObjects(multiObjectDeleteRequest);
System.out.format("Successfully deleted all the %s items.\n", delObjRes.getDeletedObjects().size());
}
显示已成功删除但文件未从s3中删除
对于单个文件代码s3client.deleteObject(bucketName, file);
工作正常。