# 查询文件列表 ## 接口信息 - **接口名称**: 查询文件列表 - **接口路径**: /file/info/list - **请求方法**: GET - **模块归属**: file - **版本号**: v1.0.0 - **创建日期**: 2026-01-18 - **最后更新**: 2026-01-18 ## 功能描述 查询文件列表,支持分页查询和条件过滤。可以根据文件名、文件路径、存储类型、文件类型等条件进行筛选。 ## 请求参数 ### 查询参数 | 参数名 | 类型 | 必填 | 描述 | 示例 | 默认值 | |--------|------|------|------|------|--------| | fileName | String | 否 | 文件名(模糊查询) | test.jpg | - | | filePath | String | 否 | 文件路径(模糊查询) | /upload/ | - | | storageType | String | 否 | 存储类型 | minio, local, oss | - | | fileType | String | 否 | 文件类型 | jpg, png, pdf | - | | fileSize | Long | 否 | 文件大小(字节) | 102400 | - | | pageNum | Integer | 否 | 页码 | 1 | 1 | | pageSize | Integer | 否 | 每页条数 | 10 | 10 | ## 响应数据 ### 成功响应 **HTTP 状态码**: 200 OK ```json { "total": 100, "rows": [ { "fileId": 1, "fileName": "test.jpg", "filePath": "/upload/2026/01/18/1234567890_test.jpg", "storageType": "minio", "fileType": "jpg", "fileSize": 102400, "md5": "d41d8cd98f00b204e9800998ecf8427e", "createBy": "admin", "createTime": "2026-01-18T10:00:00", "updateBy": "admin", "updateTime": "2026-01-18T10:00:00", "delFlag": "0" } ], "code": 200, "msg": "查询成功" } ``` | 字段名 | 类型 | 描述 | 示例 | |--------|------|------|------| | total | Long | 总记录数 | 100 | | rows | Array | 文件列表 | - | | fileId | Long | 文件主键 | 1 | | fileName | String | 原始文件名 | test.jpg | | filePath | String | 统一逻辑路径 | /upload/2026/01/18/1234567890_test.jpg | | storageType | String | 存储类型 | minio | | fileType | String | 文件类型/后缀 | jpg | | fileSize | Long | 文件大小(字节) | 102400 | | md5 | String | 文件MD5 | d41d8cd98f00b204e9800998ecf8427e | | createBy | String | 创建人 | admin | | createTime | String | 创建时间 | 2026-01-18T10:00:00 | | updateBy | String | 更新人 | admin | | updateTime | String | 更新时间 | 2026-01-18T10:00:00 | | delFlag | String | 删除标志 | 0 | ### 失败响应 **HTTP 状态码**: 401 Unauthorized ```json { "code": 401, "msg": "没有权限访问", "data": null } ``` ## 接口示例 ### 请求示例 ```bash curl -X GET "http://localhost:8080/file/info/list?fileName=test&storageType=minio&pageNum=1&pageSize=10" \ -H "Authorization: Bearer [token]" ``` ### 响应示例 **成功**: ```json { "total": 10, "rows": [ { "fileId": 1, "fileName": "test.jpg", "filePath": "/upload/2026/01/18/1234567890_test.jpg", "storageType": "minio", "fileType": "jpg", "fileSize": 102400, "md5": "d41d8cd98f00b204e9800998ecf8427e", "createBy": "admin", "createTime": "2026-01-18T10:00:00", "updateBy": "admin", "updateTime": "2026-01-18T10:00:00", "delFlag": "0" } ], "code": 200, "msg": "查询成功" } ``` ## 错误处理 - 没有权限访问时返回 401 错误 - 参数错误时返回 400 错误 ## 注意事项 - 需要权限:system:file:list - 支持分页查询,默认每页 10 条 - 文件名和文件路径支持模糊查询 - 只返回删除标志为 0 的文件(未删除的文件) ## 相关接口 - [导出文件列表](./0002-export.md) - 导出文件列表到 Excel - [获取文件详细信息](./0003-get-info.md) - 获取单个文件的详细信息 - [新增文件](./0004-add.md) - 新增文件记录 ## 实现细节 - 使用 MyBatis Plus 的分页插件 - 使用 `@PreAuthorize` 注解进行权限控制 - 继承 `BaseController` 获取分页功能 - 使用 `ISysFileInfoService.selectSysFileInfoList()` 查询文件列表