datai/docs/archive/api-docs/file/SysFileInfoController/0005-edit.md

3.2 KiB
Raw Permalink Blame History

修改文件

接口信息

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

功能描述

修改文件记录信息。可以修改文件名、文件路径、存储类型、文件类型、文件大小、MD5 等信息。

请求参数

请求体 (JSON)

{
  "fileId": 1,
  "fileName": "test_updated.jpg",
  "filePath": "/upload/2026/01/18/1234567890_test_updated.jpg",
  "storageType": "minio",
  "fileType": "jpg",
  "fileSize": 102400,
  "md5": "d41d8cd98f00b204e9800998ecf8427e"
}
参数名 类型 必填 描述 示例
fileId Long 文件主键 1
fileName String 原始文件名 test_updated.jpg
filePath String 统一逻辑路径(/开头) /upload/2026/01/18/1234567890_test_updated.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 状态码: 404 Not Found

{
  "code": 404,
  "msg": "文件不存在",
  "data": null
}

HTTP 状态码: 500 Internal Server Error

{
  "code": 500,
  "msg": "修改文件失败",
  "data": null
}

接口示例

请求示例

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

响应示例

成功:

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

错误处理

  • 没有权限访问时返回 401 错误
  • 文件不存在时返回 404 错误
  • 参数错误时返回 400 错误
  • 数据库操作失败时返回 500 错误

注意事项

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

相关接口

实现细节

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