批量复制文件

最近更新时间:2024-10-15 14:36:01

我的收藏

简介

本文档提供关于批量复制文件的 API 概览以及 SDK 示例代码。
API
操作描述
批量复制文件

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参见 SDK API 参考

批量复制文件

功能说明

用于批量复制目录或文件,不支持跨空间复制。
执行成功:
当项目较多以异步方式复制时,返回 HTTP 202 Accepted;
当项目较少以同步方式复制时,返回 HTTP 200 OK(全部执行成功)或 HTTP 207 Multi-Status(存在部分或全部执行失败);

批量复制文件代码

开始批量复制
SMHResponse<SMHBatchCopyResultEntity?>? response;
SMHBatchCopyInputEntity info = SMHBatchCopyInputEntity();
info.copyFrom = "/copyFrom";
info.copyFromLibraryId = 'copyFromLibraryId';
info.copyFromSpaceId = 'copyFromSpaceId';
info.to = "/to";
try {
response = await SMHAPIBatchApis.batchCopyFile(
libraryId: libraryId, spaceId: spaceId, inputs: [info]);
} catch (e) {
print(e);
}
查询任务状态
当项目较多以异步方式复制时,返回 HTTP 202 Accepted,以轮询的方式查询任务结果。
使用开始批量复制接口返回的taskid进行查询。
这里需要进行轮询任务状态,直到查询到任务结果。
SMHResponse<List<SMHApiTaskResultEntity>>? taskResult =
await SMHAPIQueryTaskApis.queryTask(
libraryId: libraryId,
spaceId: spaceId,
taskIdList: [ids]);