PutFile
POST /wopi/files/(file_id)/contents
PutFile 操作用于更新文件的二进制内容。
此操作的工作原理如下:
- WOPI 主机检查文件当前是否被锁定。
- 如果文件当前被锁定并且 X-WOPI-Lock 值与文件上当前的锁不匹配,则主机必须返回 409 Conflict ("lock mismatch") 并包含 X-WOPI-Lock 响应标头,标头中包含文件当前锁的值。在文件未被锁定的情况下,主机必须将 X-WOPI-Lock 设置为空字符串。
- 如果文件未锁定,主机必须检查文件的当前大小。如果它是 0 字节,则 PutFile 请求应被视为有效并应继续。如果它是 0 字节以外的任何值,或者完全丢失,主机应该以 409 Conflict响应。
- 在文件被第三方客户端锁定的情况下,主机仍应始终在 X-WOPI-Lock 响应标头中包含当前锁ID。
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| file_id | string | file ID 必须是 URL 安全的文件 ID。 |
查询参数
| 名称 | 类型 | 描述 |
|---|---|---|
| access_token | string | 访问令牌主机将用它确定请求是否被授权。 |
请求标头
| 名称 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| X-WOPI-Override | string | 必填 | 来自 WOPI 服务器的请求操作 (PUT)。 |
| X-WOPI-Lock | string | 非必填的 | 锁ID主机必须用它来标识文件上的锁。 |
请求正文
请求正文必须是文件的完整二进制内容。
响应标头
| 名称 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
| X-WOPI-Lock | string | 非必填的 | 锁ID标识文件上的当前锁。当使用 409 Conflict响应请求时,必须始终包含此标头。用 200 OK响应请求时不应包含它。 |
| X-WOPI-LockFailureReason | string | 非必填的 | 锁定失败的原因。当使用 409 Conflict响应请求时,可能会包含此标头。它只能用于记录目的。 |
| X-WOPI-ItemVersion | string | 非必填的 | 文件版本。 |