springboot怎么在oss上删除文件或者文件夹
时间: 2024-06-08 17:11:41 浏览: 248
要在阿里云 OSS 上删除文件或文件夹,可以使用 OSS 客户端进行操作。以下是 Spring Boot 中使用阿里云 OSS 客户端删除文件或文件夹的方法:
1. 首先,在 pom.xml 文件中添加阿里云 OSS 客户端的依赖:
```
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.4</version>
</dependency>
```
2. 在 Spring Boot 的配置文件中配置阿里云 OSS 的相关信息:
```
aliyun:
oss:
endpoint: oss-cn-hangzhou.aliyuncs.com
accessKeyId: yourAccessKeyId
accessKeySecret: yourAccessKeySecret
bucketName: yourBucketName
```
3. 创建 OSS 客户端,并调用相应的方法删除文件或文件夹:
```java
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.DeleteObjectsRequest;
public class OSSUtil {
private static String endpoint = "yourEndpoint"; // OSS endpoint
private static String accessKeyId = "yourAccessKeyId"; // AccessKeyId
private static String accessKeySecret = "yourAccessKeySecret"; // AccessKeySecret
private static String bucketName = "yourBucketName"; // Bucket名称
/**
* 创建 OSS 客户端
*/
public static OSS createOSSClient() {
return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
}
/**
* 删除文件
* @param objectName 文件名
*/
public static void deleteFile(String objectName) {
OSS ossClient = createOSSClient();
ossClient.deleteObject(bucketName, objectName);
ossClient.shutdown();
}
/**
* 删除文件夹及其下的所有文件
* @param prefix 文件夹前缀
*/
public static void deleteFolder(String prefix) {
OSS ossClient = createOSSClient();
DeleteObjectsRequest deleteObjectsRequest = new DeleteObjectsRequest(bucketName);
deleteObjectsRequest.setPrefix(prefix);
ossClient.deleteObjects(deleteObjectsRequest);
ossClient.shutdown();
}
}
```
以上代码中,`deleteFile` 方法用于删除指定文件,`deleteFolder` 方法用于删除指定文件夹及其下的所有文件。在使用时,只需要调用相应的方法即可完成删除操作。
阅读全文