批量删除目录或文件

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

我的收藏

功能描述

用于批量删除目录或文件。
说明:
要求权限:admin、space_admin 或 delete_directory/delete_directory_permanent/delete_file/delete_file_permanent。如需同时删除目录和文件,可同时指定 delete_directory/delete_directory_permanent 与 delete_file/delete_file_permanent 权限,有关权限详情可参考 生成访问令牌接口

请求

请求示例

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

请求参数

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

请求体

application/json,指定被删除的路径,一次请求最多指定1000项。
请求体示例:
[
{
"path": "foo/bar"
},
{
"path": "foo/1.jpg"
},
{
"path": "foo/2.jpg",
"permanent": true
}
]
请求体字段说明:
请求参数
描述
类型
是否必选
path
被删除的目录、相簿或文件路径
String
permanent
当开启回收站时,则该参数指定将文件移入回收站还是永久删除文件,默认为 false,包含以下选项:
true: 永久删除
false: 移入回收站
Boolean

响应

响应码

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

响应体

application/json
响应体示例:
返回 HTTP 200 OK 或 HTTP 207 Multi-Status 时:
{
"result": [
{
"status": 200,
"recycledItemId": 123,
"path": [ "foo", "bar" ]
},
{
"status": 200,
"recycledItemId": 124,
"path": [ "foo", "1.jpg" ]
},
{
"status": 204,
"path": [ "foo", "2.jpg" ]
}
]
}
返回 HTTP 202 Accepted 时:
{ "taskId": 15 }
查询批量删除任务 响应体:
[
{
"taskId": 15,
"status": 200,
"result": [
{
"status": 200,
"recycledItemId": 123,
"path": [ "foo", "bar" ]
},
{
"status": 200,
"recycledItemId": 124,
"path": [ "foo", "1.jpg" ]
},
{
"status": 204,
"path": [ "foo", "2.jpg" ]
}
]
}
]
响应体字段说明:
响应参数
描述
类型
result.status
单个项目的删除结果:
200: conflictResolutionStrategy 为 rename 时删除成功
204: conflictResolutionStrategy 为 ask 或 overwrite 时删除成功
403/404/409/500 等: 删除失败
String
result.recycledItemId
回收站项目 ID,用于从回收站永久删除或恢复指定项目
Int
result.path
发起请求时传入的对应路径的数组形式
String Array
taskId
异步方式删除时的任务 ID,可通过查询任务接口查询任务状态
Int
查询任务响应体字段说明:
响应参数
描述
类型
status
查询任务状态:
202:任务进行中
200:全部执行成功
207:存在部分或全部执行失败
String