外观
文件上传 / 下载错误码(179*)
段位:179001 - 179999;当前 24 个(179001 - 179024);全部 V1 暴露
通用约定(HTTP status /
code=1兜底 / 响应结构)见 README经 V1
/v1/versions/*上传 / 下载链路暴露:直接上传(upload)、分片上传(initChunkedUpload/uploadChunk/completeChunkedUpload)、预签名直传(presign-upload/finalize-upload)、签名直读(signed-url)、下载(download)。上传 / 下载链路还会返回存储侧的 存储错误码 173*(预签名会话 / 配额 / 签名直读 / 分片会话不存在)。
上传目标
179001 UPLOAD_TARGET_AMBIGUOUS
- HTTP status:200
- 含义:上传目标二选一冲突
- 典型触发条件:同时提供了
docId(向已有文档追加版本)与containerId+title(新建文档) - 处理建议:二选一——追加版本只传
docId;新建文档只传containerId+title - 示例响应:
json
{ "code": 179001, "msg": "上传目标二选一:docId 与 containerId+title 不能同时提供", "data": null }179002 UPLOAD_TARGET_REQUIRED
- HTTP status:200
- 含义:上传目标缺失
- 典型触发条件:既未提供
docId,也未提供containerId+title - 处理建议:提供
docId(已有文档)或containerId+title(新建文档)之一 - 示例响应:
json
{ "code": 179002, "msg": "上传目标缺失:需提供 docId 或 containerId+title", "data": null }分片上传会话
179003 UPLOAD_IDEMPOTENCY_KEY_REQUIRED
- HTTP status:200
- 含义:分片上传初始化缺少
idempotencyKey - 典型触发条件:
initChunkedUpload未提供idempotencyKey - 处理建议:分片上传初始化须提供
idempotencyKey(用于幂等去重与断点续传) - 示例响应:
json
{ "code": 179003, "msg": "缺少 idempotencyKey", "data": null }179004 UPLOAD_IN_PROGRESS
- HTTP status:200
- 含义:同一幂等键的上传仍在处理中
- 典型触发条件:同一
idempotencyKey的上传处于初始化 / 上传中,又重复提交 - 处理建议:复用既有会话续传,勿对同一幂等键重复初始化
- 示例响应:
json
{ "code": 179004, "msg": "上传仍在处理中,请勿重复提交", "data": null }179005 UPLOAD_IDEMPOTENCY_CONFLICT
- HTTP status:200
- 含义:幂等键冲突
- 典型触发条件:复用到的会话上下文与本次请求不一致,或会话处于异常状态
- 处理建议:换用新的
idempotencyKey重新初始化上传 - 示例响应:
json
{ "code": 179005, "msg": "幂等键冲突", "data": null }179006 UPLOAD_SESSION_KIND_MISMATCH
- HTTP status:200
- 含义:会话类型不是分片上传
- 典型触发条件:对非分片会话调用
uploadChunk/completeChunkedUpload - 处理建议:核对
uploadId来源;分片端点仅受理分片会话 - 示例响应:
json
{ "code": 179006, "msg": "会话类型不匹配", "data": null }179007 UPLOAD_SESSION_COMPLETED
- HTTP status:200
- 含义:会话已完成
- 典型触发条件:对已完成的会话再上传分片
- 处理建议:会话完成后不再受理新分片;如需重传请重新初始化
- 示例响应:
json
{ "code": 179007, "msg": "会话已完成", "data": null }179008 UPLOAD_SESSION_ABORTED
- HTTP status:200
- 含义:会话已中止
- 典型触发条件:对已中止的会话继续上传
- 处理建议:重新初始化分片上传后再传
- 示例响应:
json
{ "code": 179008, "msg": "会话已中止,请重新初始化", "data": null }分片校验
179009 CHUNK_INDEX_OUT_OF_RANGE
- HTTP status:200
- 含义:分片序号超出范围
- 典型触发条件:分片序号超过会话声明的总分片数
- 处理建议:分片序号须在
[0, totalChunks)内 - 示例响应:
json
{ "code": 179009, "msg": "分片序号超出范围", "data": null }179010 CHUNK_SIZE_MISMATCH
- HTTP status:200
- 含义:分片大小不一致
- 典型触发条件:分片实际大小与请求 / 会话声明(含最后一片推算值)不符
- 处理建议:按初始化时约定的分片大小切分上传,最后一片为剩余字节
- 示例响应:
json
{ "code": 179010, "msg": "分片大小不一致", "data": null }179011 CHUNK_SIZE_EXCEEDS_LIMIT
- HTTP status:200
- 含义:单分片大小超限
- 典型触发条件:单个分片超过 50MB 上限
- 处理建议:将分片大小控制在 50MB 以内
- 示例响应:
json
{ "code": 179011, "msg": "单分片大小超过 50MB", "data": null }179012 CHUNK_HASH_MISMATCH
- HTTP status:200
- 含义:分片哈希不一致
- 典型触发条件:分片内容哈希与客户端声明的
chunkHash不符 - 处理建议:重传该分片;确认计算哈希的字节与实际上传字节一致
- 示例响应:
json
{ "code": 179012, "msg": "分片哈希不一致", "data": null }179013 CHUNK_INCOMPLETE
- HTTP status:200
- 含义:分片不完整
- 典型触发条件:
completeChunkedUpload时缺少某个分片序号 - 处理建议:补齐缺失分片后再完成;可据返回提示定位缺失序号
- 示例响应:
json
{ "code": 179013, "msg": "分片不完整,存在缺失", "data": null }179014 CONTENT_HASH_MISMATCH
- HTTP status:200
- 含义:合并后内容哈希不一致
- 典型触发条件:分片合并后的整体哈希与会话声明的
expectedContentHash不符(分片可能损坏) - 处理建议:重新上传该文件
- 示例响应:
json
{ "code": 179014, "msg": "内容哈希不一致,请重新上传", "data": null }179015 CHUNKED_INIT_PARAMS_INVALID
- HTTP status:200
- 含义:分片初始化参数非法
- 典型触发条件:
totalSize/chunkSize/totalChunks取值或互相约束不成立 - 处理建议:确保三者自洽:
totalChunks = ceil(totalSize / chunkSize) - 示例响应:
json
{ "code": 179015, "msg": "分片初始化参数非法", "data": null }179016 UPLOAD_SESSION_OWNERSHIP_MISMATCH
- HTTP status:200
- 含义:操作者与会话归属不一致
- 典型触发条件:用一个身份初始化会话、却用另一身份续传 / 完成。出于安全考虑,归属不一致与会话不存在返回同一错误码
- 处理建议:保证分片上传全程由同一身份发起
- 示例响应:
json
{ "code": 179016, "msg": "会话归属不一致", "data": null }下载 / 直读
179017 VERSION_HAS_NO_FILE
- HTTP status:200
- 含义:版本未关联文件
- 典型触发条件:对一个
blobId为空的版本下载 / 签发直读 URL - 处理建议:仅对已关联文件的版本下载;确认该版本确有上传内容
- 示例响应:
json
{ "code": 179017, "msg": "版本未关联文件", "data": null }179018 FILE_NOT_READY
- HTTP status:200
- 含义:文件暂不可用
- 典型触发条件:版本关联的文件尚未处于就绪状态(如直传 finalize / 摄入尚未完成)
- 处理建议:稍后重试;异步摄入完成后会通过
document.updatedWebhook 通知 - 示例响应:
json
{ "code": 179018, "msg": "文件暂不可用", "data": null }上传约束
179019 UPLOAD_FILE_SIZE_EXCEEDS_LIMIT
- HTTP status:200
- 含义:文件大小超出租户上传限制
- 典型触发条件:上传文件超过租户配置的单文件大小上限
- 处理建议:压缩 / 分拆内容,或联系部署方调高上限
- 示例响应:
json
{ "code": 179019, "msg": "文件大小超出上传限制", "data": null }179020 UPLOAD_MIME_TYPE_DENIED
- HTTP status:200
- 含义:文件类型命中上传黑名单
- 典型触发条件:文件 MIME 类型在上传黑名单内,被禁止上传
- 处理建议:核对租户允许的文件类型策略;该类型被显式禁止
- 示例响应:
json
{ "code": 179020, "msg": "文件类型被禁止上传", "data": null }179021 UPLOAD_MIME_TYPE_NOT_ALLOWED
- HTTP status:200
- 含义:文件类型不在上传白名单
- 典型触发条件:白名单非空时,文件 MIME 类型不在允许列表内
- 处理建议:仅上传白名单内的文件类型;如需放开,由部署方调整租户上传策略
- 示例响应:
json
{ "code": 179021, "msg": "文件类型不在允许列表内", "data": null }元数据(随上传)
179022 METADATA_VALIDATION_FAILED
- HTTP status:200
- 含义:新建文档时元数据校验失败
- 典型触发条件:上传新建文档时携带的元数据校验未通过(必填缺失 / 取值不合法)
- 处理建议:按目标内容类型的字段约束修正元数据后重试;字段级细分校验另见 元数据错误码 182*
- 示例响应:
json
{ "code": 179022, "msg": "元数据校验失败", "data": null }179023 METADATA_JSON_MALFORMED
- HTTP status:200
- 含义:元数据 JSON 解析失败
- 典型触发条件:上传携带的元数据 JSON 格式错误
- 处理建议:确认元数据为合法 JSON 后重试
- 示例响应:
json
{ "code": 179023, "msg": "元数据 JSON 格式错误", "data": null }179024 DOCUMENT_STATE_NOT_UPLOADABLE
- HTTP status:200
- 含义:目标文档状态不可上传新版本
- 典型触发条件:目标文档非 ACTIVE(归档 / 回收站等),不能在其上新建版本
- 处理建议:先把文档恢复到 ACTIVE 再上传新版本
- 示例响应:
json
{ "code": 179024, "msg": "文档状态不可上传新版本", "data": null }