文档转码

最近更新时间:2025-10-24 15:25:22

我的收藏

功能描述

用于转换文档格式,当前仅支持 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
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
SpaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
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

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。