文件管理
需求说明
文件存储服务
文件管理模块实现了文件上传、下载、打包下载、文件权限管理、文件夹等租户文件管理的基础功能。 同时对于用户头像、文档插图、报表封面等系统业务类的文件也提供了统一的上传下载接口。
存储方式可扩展
系统支持多种存储方式,包括本地存储、阿里云OSS存储、微软云存储等。 同时也可以扩展其他存储方式,方便进行二次开发。
服务架构
DXSuite 文件服务整体架构图如下图所示:
- 文件基础服务提供文件操作接口
FileHelperAPI
供其他模块调用。 - 应用启动时根据
application-storage.yml
配置文件实例化对应存储服务的FileHelperAPI
实现类。 - 应用中的其他服务通过调用
FileHelperAPI
实现文件存储。
API 列表
业务类文件上传下载接口
POST /api/v1/files
上传文件POST /api/v1/files/photos
上传照片POST /api/v1/files/figures
上传插图POST /api/v1/files/covers
上传封面POST /api/v1/files/avatars
上传徽标GET /api/v1/files/:fileName
文件下载
租户文件存储服务接口
POST /api/v1/tenants/:tenantId/files
上传文件POST /api/v1/tenants/:tenantId/files/:parentId/files
上传文件PUT /api/v1/tenants/:tenantId/files/:fileId/directory
移动文件或文件夹DELETE /api/v1/tenants/:tenantId/files/:fileId
删除文件POST /api/v1/tenants/:tenantId/files/:fileId/owners
设置用户对文件的访问权限DELETE /api/v1/tenants/:tenantId/files/:fileId/owners/:ownerId
删除用户对文件的访问权限GET /api/v1/tenants/:tenantId/owners/:ownerId/files
获取用户访问文件列表GET /api/v1/tenants/:tenantId/owners/:ownerId/files/:parentId/files
获取用户访问文件列表GET /api/v1/tenants/:tenantId/files/:fileId
获取文件详情GET /api/v1/tenants/:tenantId/files/:fileId/download
下载文件POST /api/v1/tenants/:tenantId/multi-files-download
多文件打包下载