Mikiacg

文件上传

文件上传采用分片上传流程,适合大文件传输。

上传流程

  1. 调用 file.checkHash 检查文件是否已存在(秒传)
  2. 调用 file.initUpload 初始化上传,获取 fileId
  3. 上传文件分片(根据返回的上传方式)
  4. 调用 file.completeUpload 完成上传
  5. 调用 file.attach 关联文件到内容

检查文件哈希(秒传)

POST/api/trpc/file.checkHash需登录file:write

如果文件已存在,直接返回文件信息,无需重复上传。

参数类型必填说明
hashstring文件 SHA-256 哈希(64 位十六进制)
sizenumber文件大小(字节)
mimeTypestringMIME 类型
filenamestring文件名
contentTypestring关联的内容类型
contentIdstring关联的内容 ID

初始化上传

POST/api/trpc/file.initUpload需登录file:write
参数类型必填说明
filenamestring文件名
sizenumber文件大小(字节)
mimeTypestringMIME 类型
hashstring文件哈希
contentTypestring关联的内容类型
contentIdstring关联的内容 ID

获取上传进度

POST/api/trpc/file.getUploadProgress需登录file:read
参数类型必填说明
fileIdstring文件 ID

完成上传

POST/api/trpc/file.completeUpload需登录file:write
参数类型必填说明
fileIdstring文件 ID
uploadIdstringS3 上传 ID(分片上传时需要)
partsobject[]分片信息
hashstring文件哈希

关联文件

POST/api/trpc/file.attach需登录file:write
参数类型必填说明
fileIdstring文件 ID
contentTypestringvideo / game / imagePost
contentIdstring内容 ID

取消关联

POST/api/trpc/file.detach需登录file:write
参数类型必填说明
fileIdstring文件 ID

删除文件

POST/api/trpc/file.delete需登录file:write
参数类型必填说明
fileIdstring文件 ID

文件列表

POST/api/trpc/file.list需登录file:read
参数类型必填说明
cursorstring分页游标
limitnumber每页数量
contentTypestring内容类型筛选
contentIdstring内容 ID 筛选
mimePrefixstringMIME 前缀筛选(如 image/

获取内容关联文件

POST/api/trpc/file.getByContent公开
参数类型必填说明
contentTypestringvideo / game / imagePost
contentIdstring内容 ID

存储用量

POST/api/trpc/file.getStorageUsage需登录file:read

返回已用空间和配额信息。

命令面板

快速导航和操作