PutFile
POST /wopi/files/(file_id)/contents
更新文件的二进制内容以执行 HTTP://server/<...>/wopi*/files/<id>/contents
操作。
此操作的工作原理如下:
- 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-Editors | string | 非必填的 | 在此 PutFile 请求中对文档做出更改的所有用户 (UserId 值以逗号分隔)。 |
X-LOOL-WOPI-IsModifiedByUser | string | 非必填的 | 指示用户是否在保存之前修改了文档("true"),或者他们是否只是按下了 保存 按钮而没有进行任何修改("false")。 |
X-LOOL-WOPI-IsAutosave | string | 非必填的 | 指示 PutFile 是由自动保存 ("true") 还是由显式用户操作(保存 按钮或菜单项)("false")触发。 |
X-LOOL-WOPI-IsExitSave | string | 非必填的 | 指示当从内存中清除文档时(例如,当所有用户断开连接时)是否会触发自动保存。(是:"true",否:"false") |
请求正文
请求正文必须是文件的完整二进制内容。
响应标头
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
X-WOPI-Lock | string | 非必填的 | 锁ID标识文件上的当前锁。当使用 409 Conflict响应请求时,必须始终包含此标头。用 200 OK响应请求时不应包含它。 |
X-WOPI-LockFailureReason | string | 非必填的 | 锁定失败的原因。当使用 409 Conflict响应请求时,可能会包含此标头。它只能用于记录目的。 |
X-WOPI-ItemVersion | string | 非必填的 | 文件版本。 |