批量复制目录或文件

最近更新时间:2025-10-29 14:34:31

我的收藏

功能描述

用于批量复制目录或文件。
说明:
要求权限,有关权限详情请参见 生成访问令牌接口
同空间复制:
admin、space_admin 或 copy_directory/copy_file/copy_file_force,如需同时复制目录和文件,可同时指定 copy_directory 与 copy_file/copy_file_force 权限。
跨空间复制:
admin 或同时指定源空间与目的空间的 space_admin。

请求

请求示例

POST /api/v1/batch/{LibraryId}/{SpaceId}?copy&access_token={AccessToken}&user_id={UserId}

请求参数

请求参数
描述
类型
是否必选
LibraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
SpaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(-);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
AccessToken
访问令牌,获取请参见 生成访问令牌
String
UserId
用户身份标识,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参见 生成访问令牌
String

请求体

application/json,指定复制的源路径和目的路径,一次请求最多指定1000项。
请求体示例:
[
{
"copyFromSpaceId":"spaceNJsnjdiq",
"copyFrom": "bar",
"to": "foo/bar"
},
{
"copyFrom": "foo/1.jpg",
"to": "bar/1.jpg"
},
{
"copyFrom": "foo/2.jpg",
"to": "bar/2.jpg",
"conflictResolutionStrategy": "overwrite"
}
]
请求体字段说明:
请求参数
描述
类型
是否必选
copyFrom
被复制的源目录、相簿或文件路径
String
to
目标目录、相簿或文件路径
String
conflictResolutionStrategy
文件名冲突时的处理方式
ask:冲突时返回 status:409 及 SameNameDirectoryOrFileExists 错误码
rename:冲突时自动重命名文件
overwrite:
如果目标为目录或相簿时,默认为 ask 且不支持 overwrite
如果目标为文件,覆盖已有文件
当目标空间的文件存在历史版本时,不支持移动覆盖
String
copyFromSpaceId
跨空间复制时指定源目录或文件所在的空间,同空间复制时请勿指定该字段
String

响应

响应码

执行成功
- 当项目较多以异步方式复制时,返回 HTTP 202 Accepted。 - 当项目较少以同步方式复制时,返回 HTTP 200 OK(全部执行成功)或 HTTP 207 Multi-Status(存在部分或全部执行失败)。

响应体

application/json
响应体示例:
返回 HTTP 200 OK 或 HTTP 207 Multi-Status 时:
{
"result": [
{
"status": 204,
"copyFrom": "bar",
"to": [ "foo", "bar" ]
},
{
"status": 200,
"path": [ "bar", "1 (1).jpg" ],
"copyFrom": [ "foo", "1.jpg" ],
"to": [ "bar", "1.jpg" ]
},
{
"status": 204,
"copyFrom": [ "foo", "2.jpg" ],
"to": [ "bar", "2.jpg" ]
}
]
}
返回 HTTP 202 Accepted 时:
{ "taskId": 16 }
查询批量复制任务 响应体:
[
{
"taskId": 16,
"status": 200,
"result": [
{
"status": 204,
"copyFrom": "bar",
"to": [ "foo", "bar" ]
},
{
"status": 200,
"path": [ "bar", "1 (1).jpg" ],
"copyFrom": [ "foo", "1.jpg" ],
"to": [ "bar", "1.jpg" ]
},
{
"status": 204,
"copyFrom": [ "foo", "2.jpg" ],
"to": [ "bar", "2.jpg" ]
}
]
}
]
响应体字段说明:
响应参数
描述
类型
result.status
单个项目的复制结果:
200: conflictResolutionStrategy 为 rename 时复制成功
204: conflictResolutionStrategy 为 ask 或 overwrite 时复制成功
403/404/409/500等,复制失败
String
result.path
表示最终的路径,因为可能存在自动重命名,所以这里的最终路径可能不等同于复制时指定的路径
String Array
result.copyFrom
发起请求时传入的对应路径
String Array
result.to
发起请求时传入的对应路径
String Array
查询任务响应体字段说明:
响应参数
描述
类型

status
查询任务状态:
202:任务进行中
200:全部执行成功
207:存在部分或全部执行失败
String

错误码

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