Skip to main content

文件管理

需求说明

文件存储服务

文件管理模块实现了文件上传、下载、打包下载、文件权限管理、文件夹等租户文件管理的基础功能。 同时对于用户头像、文档插图、报表封面等系统业务类的文件也提供了统一的上传下载接口。

存储方式可扩展

系统支持多种存储方式,包括本地存储、阿里云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 多文件打包下载