datai/docs/archive/api-docs/file/SysFileInfoController/0004-add.md

3.0 KiB
Raw Blame History

新增文件

接口信息

  • 接口名称: 新增文件
  • 接口路径: /file/info
  • 请求方法: POST
  • 模块归属: file
  • 版本号: v1.0.0
  • 创建日期: 2026-01-18
  • 最后更新: 2026-01-18

功能描述

新增文件记录到数据库。通常在文件上传成功后自动调用,也可以手动创建文件记录。

请求参数

请求体 (JSON)

{
  "fileName": "test.jpg",
  "filePath": "/upload/2026/01/18/1234567890_test.jpg",
  "storageType": "minio",
  "fileType": "jpg",
  "fileSize": 102400,
  "md5": "d41d8cd98f00b204e9800998ecf8427e"
}
参数名 类型 必填 描述 示例
fileName String 原始文件名 test.jpg
filePath String 统一逻辑路径(/开头) /upload/2026/01/18/1234567890_test.jpg
storageType String 存储类型local/minio/oss minio
fileType String 文件类型/后缀 jpg
fileSize Long 文件大小(字节) 102400
md5 String 文件MD5 d41d8cd98f00b204e9800998ecf8427e

响应数据

成功响应

HTTP 状态码: 200 OK

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}
字段名 类型 描述 示例
data Integer 影响的行数 1

失败响应

HTTP 状态码: 401 Unauthorized

{
  "code": 401,
  "msg": "没有权限访问",
  "data": null
}

HTTP 状态码: 500 Internal Server Error

{
  "code": 500,
  "msg": "新增文件失败",
  "data": null
}

接口示例

请求示例

curl -X POST "http://localhost:8080/file/info" \
  -H "Authorization: Bearer [token]" \
  -H "Content-Type: application/json" \
  -d '{
    "fileName": "test.jpg",
    "filePath": "/upload/2026/01/18/1234567890_test.jpg",
    "storageType": "minio",
    "fileType": "jpg",
    "fileSize": 102400,
    "md5": "d41d8cd98f00b204e9800998ecf8427e"
  }'

响应示例

成功:

{
  "code": 200,
  "msg": "操作成功",
  "data": 1
}

错误处理

  • 没有权限访问时返回 401 错误
  • 参数错误时返回 400 错误
  • 数据库操作失败时返回 500 错误

注意事项

  • 需要权限system:file:add
  • 使用 @Log 注解记录操作日志
  • fileName、filePath、storageType 为必填字段
  • filePath 必须以 / 开头
  • storageType 必须是有效的存储类型local/minio/oss
  • 创建人和创建时间会自动设置

相关接口

实现细节

  • 使用 ISysFileInfoService.insertSysFileInfo() 插入文件记录
  • 使用 @Log 注解记录操作日志,业务类型为 INSERT
  • 使用 @PreAuthorize 注解进行权限控制
  • 继承 BaseController 获取基础功能
  • 使用 toAjax() 方法封装响应