功能描述
用于批量删除目录或文件。
接口说明
要求权限:
非 acl 鉴权: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,必选参数。
SpaceId:空间 ID,必须指定该参数,如果媒体库为单租户模式,则该参数固定为连字符(
-
)。AccessToken:访问令牌,必选参数。
UserId:用户身份识别,当访问令牌对应的权限为管理员权限且申请访问令牌时的用户身份识别为空时用来临时指定用户身份,详情请参阅 生成访问令牌接口,可选参数。
请求体
application/json,指定被删除的路径。
请求体示例:
[{"path": "foo/bar"},{"path": "foo/1.jpg"},{"path": "foo/2.jpg","permanent": true}]
请求体字段说明:
path:被删除的目录、相簿或文件路径,必选参数。
permanent:当开启回收站时,可选参数,则该参数指定将文件移入回收站还是永久删除文件,true: 永久删除,false: 移入回收站,默认为 false。
响应
响应码
执行成功
当项目较多以异步方式删除时,返回 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 }
查询批量删除任务响应体:
[{"id": 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:移入回收站成功。
204:永久删除成功。
403/404/500等:删除失败。
result.recycledItemId:回收站项目 ID,用于从回收站永久删除或恢复指定项目。
result.path:发起请求时传入的对应路径的数组形式。
taskId:异步方式删除时的任务 ID,可通过查询任务接口查询任务状态。
查询任务响应体字段说明:
status:
202:任务进行中。
200:全部执行成功。
207:存在部分或全部执行失败。