功能描述
用于批量复制目录或文件。
说明:
同空间复制:
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}
请求参数
请求体
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 |