PutRelativeFile

POST /wopi/files/(file_id)

基于当前文件在主机上创建一个新文件。

此操作的工作原理如下:

  1. WOPI 主机检查文件当前是否被锁定。
  2. 如果文件当前 被锁定 并且 X-WOPI-Lock 值与文件上当前的锁不匹配, 则主机必须返回 409 Conflict ("lock mismatch") 并包含 X-WOPI-Lock 响应标头,标头中包含文件当前锁的值。 在文件未被锁定的情况下,主机必须将 X-WOPI-Lock 设置为空字符串。
  3. 如果文件 已解锁,主机会从 X-WOPI-SuggestedTarget 标头中获取文件名并修改它以使请求成功:
    • 如果标头仅包含文件扩展名(以句点开头),则生成的文件名将包含此扩展名和不带扩展名的初始文件名。
    • 如果标头包含完整的文件名,那么它将是结果文件的名称。
  4. 最后,主机创建一个具有合法名称且不覆盖任何现有文件的新文件,同时保留文件扩展名。
参数
名称 描述 类型
file_id 必须是 URL 安全的文件 ID。 string
查询参数
名称 描述 类型
access_token 访问令牌——主机将用它确定请求是否被授权。 string
请求标头
名称 描述 类型 出现
X-WOPI-Override 来自 WOPI 服务器的请求操作 (PUT_RELATIVE)。 string 必需的
X-WOPI-SuggestedTarget 文件扩展名或完整文件名,包括 UTF-7 编码字符串格式的文件扩展名。 string 必需的
X-WOPI-Size 文件的大小(以字节为单位)。 integer 可选的
X-WOPI-FileConversion 表明请求是在 二进制文档转换的上下文中进行的。 boolean 可选的
请求正文

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

响应标头
名称 描述 类型 出现
X-WOPI-Lock 锁ID——标识文件上的当前锁。当使用 409 Conflict响应请求时,必须始终包含此标头。 用 200 OK响应请求时不应包含它。 string 可选的
X-WOPI-LockFailureReason 锁定失败的原因。当使用 409 Conflict响应请求时,可能会包含此标头。它只能用于记录目的。 string 可选的
响应体
名称 描述 类型 出现
名称 文件名,包括扩展名,没有路径。 string 必需的
Url URI,其形式为 http://server/ <...>/wopi/files/(file_id)?access_token=(access token), 在主机上新创建的文件。 string 必需的
HostViewUrl 主机页面的 URI,该页面为新创建文件加载 查看 WOPI 操作。 string 可选的
HostEditUrl 主机页面的 URI,该页面为新创建的文件加载 编辑 操作。 string 可选的