You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

960 B

  • 所有对外能力统一通过 FileApi 接口暴露,Controller 和内部调用方不得绕过该门面直接访问底层实现。
  • 错误处理使用 crm-base 提供的 BusinessErrorExceptionMissingParameterExceptionResourceNotExistException,并通过 FileConstants 中的错误码常量统一管理。
  • 文件 objectKey 遵循 {业务域}/{yyyy}/{MM}/{fileId}.{扩展名} 格式,由 buildObjectKey 集中生成,不对业务模块暴露。
  • 分片上传严格遵循 init → upload → complete 三段式协议,会话状态存 Redis,临时分片以 chunks/{uploadId}/{序号} 命名于 MinIO,缺片校验以列举 MinIO 对象为准而非额外进度表。
  • 流式操作(上传/下载)一律使用 InputStream 并由调用方负责关闭,避免内存驻留大文件。
  • 非致命异常(如 MinIO 删除失败、bucket 初始化失败)仅记录 warn/error 日志而不阻断主流程,保证容错性。