PutFile

POST /wopi/files/(file_id)/contents

请求消息以更新 HTTP://server/<...>/wopi*/files/<id>/contents 操作的文件。

请求正文必须包含二进制格式的完整文件内容。

此操作的工作原理如下:

  1. WOPI 主机检查文件当前是否被锁定。
  2. 如果文件当前 被锁定 并且 X-WOPI-Lock 值与文件上当前的锁不匹配, 则主机必须返回 409 Conflict ("lock mismatch") 并包含 X-WOPI-Lock 响应标头,标头中包含文件当前锁的值。 在文件未被锁定的情况下,主机必须将 X-WOPI-Lock 设置为空字符串。
  3. 如果文件 未锁定,主机必须检查文件的当前大小。如果它是 0 字节,则 PutFile 请求应被视为有效并应继续。 如果它是 0 字节以外的任何值,或者完全丢失,主机应该以 409 Conflict响应。
  4. 在文件被第三方客户端锁定的情况下,主机仍应始终在 X-WOPI-Lock 响应标头中包含当前锁ID。
参数
名称 描述 类型
file_id 必须是 URL 安全的文件 ID。 string
查询参数
名称 描述 类型
access_token 访问令牌主机将用它确定请求是否被授权。 string
请求标头
名称 描述 类型 出现
X-WOPI-Override 来自 WOPI 服务器的请求操作 (PUT)。 string 必需的
X-WOPI-Lock 锁ID主机必须用它来标识文件上的锁。 string 可选的
X-WOPI-Editors 在此 PutFile 请求中对文档做出更改的所有用户(UserId 值以逗号分隔)。 string 可选的
X-LOOL-WOPI-IsModifiedByUser 指示用户是否在保存之前修改了文档("true"),或者他们是否只是按下了 保存 按钮而没有进行任何修改("false")。 string 可选的
X-LOOL-WOPI-IsAutosave 指示 PutFile 是由自动保存 ("true") 还是由显式用户操作(保存 按钮或菜单项)("false")触发。 string 可选的
X-LOOL-WOPI-IsExitSave 指示当从内存中清除文档时(例如,当所有用户断开连接时)是否会触发自动保存。(是:"true",否:"false" string 可选的
请求正文

请求正文必须是文件的完整二进制内容。

响应标头
名称 描述 类型 出现
X-WOPI-Lock 锁ID标识文件上的当前锁。当使用 409 Conflict响应请求时,必须始终包含此标头。 用 200 OK响应请求时不应包含它。 string 可选的
X-WOPI-LockFailureReason 锁定失败的原因。当使用 409 Conflict响应请求时,可能会包含此标头。它只能用于记录目的。 string 可选的
X-WOPI-ItemVersion 文件版本。 string 可选的