上传文件 (Upload)
Method: POST
Endpoint:
/api/v1/files
请求参数
Content-Type: multipart/form-data- 表单中必须且只能包含一个文件
- 文件大小必须严格小于
10 MiB - 服务端计算文件内容的 SHA-256 作为 hash
- 同一内容重复上传不会产生新记录,直接返回已有
fileId
表单字段:
file=<二进制文件>
响应示例
首次上传返回 201:
{
"data": {
"fileId": 1,
"hash": "623099066de4cbef710c0f36302f31f49e9e607654f879ace5cd536ab16833b7",
"uTime": 1794208350
}
}
重复上传同一内容返回 200,结构相同。
fileId 用于 检查试卷。
存储
文件按 hash 分级保存:
data/files/ab/cd/abcdef...
数据库只保存 files_id / hash / u_time,不保存原始文件名。
错误
400 / INVALID_FORM_DATA:不是合法的 multipart 表单400 / INVALID_FILE_COUNT:文件数量不是 1401 / UNAUTHORIZED:未鉴权413 / FILE_TOO_LARGE:文件大小达到或超过 10 MiB503 / AUTH_NOT_CONFIGURED:未配置EXAM_API_TOKEN