有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

功能描述

用于模板创建文件。

接口说明

要求权限:
非 acl 鉴权:admin、space_admin、upload_file 或 upload_file_force
acl 鉴权:canUpload(当前文件夹可上传)
说明
非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考 生成访问令牌接口
acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考 角色授权模块
用模板创建文件时如果文件已存在,则自动重命名。

请求

请求示例

PUT /api/v1/file/{LibraryId}/{SpaceId}/{FilePath}?access_token={AccessToken}&user_id={UserId}
请求参数:
LibraryId:媒体库 ID,必选参数。
SpaceId:空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数。
FilePath:完整文件路径,例如 foo/bar/file_new.docx
AccessToken:访问令牌,必选参数。
UserId:用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅 生成访问令牌接口,可选参数。

请求头部

x-smh-meta-*:自定义元数据。

请求体

application/json,指定模板名字。
请求体示例:
{ "fromTemplate": "word.docx" }
请求体字段说明:
fromTemplate:模板名字,当前支持 word.docxexcel.xlsxpowerpoint.pptx,必选参数。

响应

响应码

创建成功,返回 HTTP 200 OK。

响应体

application/json
响应体示例:
{
"path": [ "foo", "bar", "file (1).docx" ],
"name": "file (1).docx",
"type": "file",
"creationTime": "2020-09-22T07:44:45.000Z",
"modificationTime": "2021-02-01T08:21:47.000Z",
"contentType": "image/jpg",
"size": "1048576",
"eTag": "xxx",
"crc64": "xxx",
"metaData": {
"x-smh-meta-foo": "bar"
}
}
响应体字段说明:
path:字符串数组 或 null,如果是字符串数组则表示最终的文件路径,数组中的最后一个元素代表最终的文件名,其他元素代表每一级目录名,因为可能存在同名文件自动重命名,所以这里的最终路径可能不等同于开始上传时指定的路径;如果是 null 则表示该文件所在的目录或其某个父级目录已被删除,该文件已经无法访问。
name:最终文件名。
type:文件类型。
creationTime:文件首次完成上传的时间。
modificationTime:文件最近一次被覆盖的时间。
contentType:媒体类型。
size:文件大小,为了避免数字精度问题,这里为字符串格式。
eTag:文件 ETag。
crc64:文件的 CRC64-ECMA182 校验值,为了避免数字精度问题,这里为字符串格式。
metaData:元数据,如果没有元数据则不存在该字段。