Comments (5)
获取对应存储平台,然后 getClient 自行操作,后续版本会增加列出文件功能
from x-file-storage.
好的 可以了
from x-file-storage.
/**
* 删除临时文件 每天夜里3点执行
*/
@Scheduled(cron = "0 0 3 * * ?")
public void deleteTempFile() {
MinioFileStorage minioFileStorage = fileStorageService.getFileStorage();
String bucketName = minioFileStorage.getBucketName();
MinioClient minioClient = minioFileStorage.getClient();
cleanTemporaryDir(TEMP, bucketName, minioClient);
}
/**
* 递归删除临时文件
*
* @param dir
*/
public void cleanTemporaryDir(String dir, String bucketName, MinioClient minioClient) {
if (StringUtils.isBlank(dir) || "/".equals(dir)) {
throw new IllegalArgumentException("非法的删除目录!");
}
try {
Iterable<Result<Item>> list = minioClient.listObjects(ListObjectsArgs.builder()
.bucket(bucketName)
.prefix(dir)
.recursive(false)
.build());
for (Result<Item> itemResult : list) {
Item item = itemResult.get();
String fileName = item.objectName();
if (item.isDir()) {
//目录
cleanTemporaryDir(fileName, bucketName, minioClient);
} else {
minioClient.removeObject(RemoveObjectArgs.builder()
.bucket(bucketName)
.object(fileName)
.build());
}
}
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
from x-file-storage.
如果这些文件都是你上传的,可以将上传记录保存到数据库,这样删除更方便更通用
from x-file-storage.
好的👌
from x-file-storage.
Related Issues (20)
- 2.1.0版本若实现FileRecorder上传文件(url形式)无法拿到上传后的FileInfo
- download方法只能下载通过FileRecorder存入数据库中的文件吗 HOT 7
- 上传文件返回的URL中没有bucket路径 HOT 4
- 前端获取大文件上传进度 HOT 5
- 视频上传速度太慢 HOT 1
- 未能重置输入流 HOT 4
- 文件多大会自动分片,可以设置阈值吗,30M的文件可以自动分片吗,因为会同时有好多人上传视频,感觉有点慢 HOT 4
- 直接上传报错 HOT 30
- 请问为什么静态资源处理器fileStorageWebMvcConfigurer不起作用呢? HOT 14
- FTP图片上传OSS图片处理失败 HOT 3
- 是否支持批量上传 HOT 3
- 将来会支持git吗(如gitee/github)? HOT 1
- Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.dromara.x.file.storage.core.FileStorageService.of(Ljava/lang/Object;)Lorg/dromara/x/file/storage/core/UploadPretreatment HOT 2
- 有计划适配GoFastDfs吗 HOT 4
- 升级 hutool 版本 HOT 1
- 路径中存在双斜线 HOT 1
- 大文件下载卡主不动 HOT 9
- 分片上传数据失败 HOT 2
- 视频预览图 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from x-file-storage.