跳转到正文

资源文件

资源模块将文件上传到本地或对象存储,并保存名称、存储位置、相对路径、大小和 MD5 等文件记录。例如,应用接收附件后,将文件交给 MinIO 保存,再把返回的记录 ID 关联到业务单据。

资源模块负责文件与元数据;业务单据关联、用户归属和访问授权由应用负责。它与下载中心没有自动联动:需要下载列表时,由应用将资源地址登记到下载中心。

从哪里开始

  • 快速开始:使用 MinIO 完成上传、查询记录和核对文件。
  • 上传与直传签名:选择经应用上传或客户端直传,理解 MD5 复用、业务路由与回调。
  • 存储配置与访问:配置本地及五种对象存储适配器、多源路由和私有资源访问。
  • 文件记录管理:查询、登记、删除元数据,以及给业务对象回填文件信息。

选择接入模块

以下运行时依赖的 groupId 均为 com.own.business,版本由 com.own:springboot-business-dependencies 管理。

需要的能力artifactId依赖说明
应用内部上传、文件记录服务springboot-business-resource-business传递依赖 Common、Core 和 Store API
上传、签名与回调 HTTP 接口springboot-business-resource-controller-app传递依赖 Business
文件记录管理接口springboot-business-resource-controller-admin传递依赖 Business,不自动引入 App 接口
MinIO、阿里云、华为、七牛、火山适配器springboot-business-resource-module-<供应商>后缀分别为 minioaliyunhuaweiqiniuvolc;当前均传递依赖 App Controller 和 Core

本地实现包含在 Core 中。springboot-business-resourcespringboot-business-resource-module 是聚合 POM;前者同时提供依赖管理,不是运行时全量 JAR。当前源码没有 springboot-business-resource-module-all 子模块,不应根据 POM 中遗留的版本管理项选择该依赖。

接入前要了解的边界

事项当前行为
App 身份整个 AppResourceController 标记 @LoginIgnore;不是“当前登录用户的文件接口”
记录作用域没有归属用户或工作空间字段及过滤;创建人字段只是审计信息
首次上传默认 MD5 复用存在未命中异常,快速开始显式采用 REPEAT,详见复用语义
Mapper 装配模块默认扫描路径与实际 Mapper 包不一致,应用需补充扫描,详见快速开始
存储能力各适配器的直传、私有读、回调能力不同,详见能力矩阵
查询与删除管理端字段筛选尚未实现;删除物理移除数据库记录,不删除实际文件

模块没有自动清理、上传任务调度、用户配额或统一文件类型白名单。应用应根据公开上传、业务附件或私有文件场景,配置实际入口和文件访问规则。

按文件查阅方法

重点文件与方法逐项说明核心类、接口和方法重载的用途、参数、返回值、调用示例与注意事项,并链接到公开仓库对应源码。