public JsonResult DeleteNodes(string ownerId, string path, string nameListStr) { return(CallService(true, new Action <string, string, string>((p1, p2, p3) => { string[] nameList = p3?.Split('/'); if (nameList?.Length > 0) { foreach (var name in nameList) { var node = _nodeAppService.GetNode(p1, p2, name); if (node == null) { throw new Exception("文件或文件夹不存在"); } if (node is FileNode) { var result = _nodeAppService.DeleteNode <FileNode>(p1, p2, name) as FileNode; _storageClient.Remove(result.StorageFileId); _quotaAppService.Decrease(p1, result.Size, result.Id); FileNodeChanged(node as FileNode); } else if (node is FolderNode) { DoDeleteFolder(p1, p2, name); _nodeAppService.DeleteNode <FolderNode>(p1, p2, name); } } } }), ownerId, path, nameListStr)); }