功能描述
用于转换文档格式,当前仅支持 doc/docx 转 pdf。
说明:
要求权限,有关权限详情请参见 生成访问令牌接口。
非 acl 鉴权:admin、space_admin
acl 鉴权:canDownload(当前文件夹可下载)& canUpload(目标文件夹可上传)
(非 acl 鉴权是指当前用户对所有文件的操作权限,详情可参考生成访问令牌接口;acl 鉴权是通过共享授权接口给指定用户,以文件夹为单位授予的权限,详情可参考角色授权模块)
该接口的源和目标均需要指定完整的文件路径,源与目标可以跨越目录,来实现将文件移动到任意其他目录下的功能,且支持同时修改文件名。
不会自动创建中间所需的各级父目录,所以必须保证路径的各级目录存在。
请求
请求示例
PUT /api/v1/file/{LibraryId}/{SpaceId}/{FilePath}?convert&conflict_resolution_strategy={ConflictResolutionStrategy}&access_token={AccessToken}&user_id={UserId}
请求参数
请求参数 | 描述 | 类型 | 是否必选 |
LibraryId | String | 是 | |
SpaceId | String | 否 | |
FilePath | 指定文档转码后保存的完整文件路径,例如 foo/bar/file_new.pdf,要保证 foo/bar 目录存在 | String | 否 |
ConflictResolutionStrategy | 文件名冲突时的处理方式,默认为 rename: ask:冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码 rename:冲突时自动重命名文件 overwrite: 如果目标为目录或相簿时,默认为 ask 且不支持 overwrit。 如果目标为文件,覆盖已有文件。 当目标空间的文件存在历史版本时,不支持移动覆盖 | String | 否 |
AccessToken | String | 是 | |
UserId | String | 否 |
请求体
application/json,指定文档转码要操作的源文件
{"convertFrom": "a/b/xxx.docx"}
请求体字段说明:
请求参数 | 描述 | 类型 | 是否必选 |
convertFrom | 指定文档转码要操作的源文件 | String | 是 |
响应
响应码
文档转码任务创建成功,返回 HTTP 202 Accepted。
响应体
application/json
响应体示例:
{ "taskId": 23 }
查询文档转码任务响应体:
[{"taskId": 23,"status": 200,"result": {"convertFrom": [ "a", "b", "xxx.docx" ],"path": [ "foo", "bar", "file_new (2).pdf" ],"srcInode": "a04db459dea9042e0006412d47189f3f","dstInode": "737c04ae9a20dca00006412e97bc5b8c"}}]
查询任务响应体字段说明:
响应参数 | 描述 | 类型 |
taskId | 异步方式恢复时的任务 ID,可通过查询任务接口查询任务状态 | Int |
status | 202: 任务进行中,200: 任务执行成功 | Int |
result | 转码操作结果 | Array |
result 中包含以下参数:
响应参数 | 描述 | 类型 |
convertFrom | 表示转码操作的源文件的路径 | String Array |
path | 表示转码后保存的最终的文件路径 | String Array |
srcInode | 表示要转码的源文件的inode | String |
dstInode | 表示转码后保存的最终的文件的inode | String |