datai/docs/archive/api-docs/file/SysFileInfoController/0006-remove.md

2.6 KiB
Raw Blame History

删除文件

接口信息

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

功能描述

根据文件 ID 删除文件记录,支持批量删除。删除操作会将删除标志设置为 2而不是物理删除。

请求参数

路径参数

参数名 类型 必填 描述 示例
fileIds Long[] 文件 ID 数组,多个 ID 用逗号分隔 1,2,3

响应数据

成功响应

HTTP 状态码: 200 OK

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

失败响应

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 DELETE "http://localhost:8080/file/info/1" \
  -H "Authorization: Bearer [token]"

批量删除文件:

curl -X DELETE "http://localhost:8080/file/info/1,2,3" \
  -H "Authorization: Bearer [token]"

响应示例

成功:

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

错误处理

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

注意事项

  • 需要权限system:file:remove
  • 使用 @Log 注解记录操作日志
  • 支持批量删除,多个 ID 用逗号分隔
  • 删除操作会将删除标志设置为 2而不是物理删除
  • 只能删除删除标志为 0 的文件(未删除的文件)

相关接口

实现细节

  • 使用 ISysFileInfoService.deleteSysFileInfoByFileIds() 删除文件记录
  • 使用 @Log 注解记录操作日志,业务类型为 DELETE
  • 使用 @PreAuthorize 注解进行权限控制
  • 继承 BaseController 获取基础功能
  • 使用 toAjax() 方法封装响应
  • 支持批量删除,传入 Long[] 数组