目录或相簿

最近更新时间:2025-09-29 11:21:32

我的收藏

简介

本文档提供关于目录或相簿相关接口介绍以及示例代码。

列出目录或相簿内容

功能说明

用于列出目录或相簿内容。

示例代码

try {
let result = await SMHDirectoryApis.listDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath:'dir',
limit:'10',
orderBy:SMHFileListOrderBy.name,
orderByType:SMHOrderByType.asc,
withFavoriteStatus:true,
withInode:true
});
}catch (e) {
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar;对于根目录,该参数留空
String
marker
用于顺序列出分页的标识,不能与 page 和 page_size 参数同时使用
String
limit
用于顺序列出分页时本地列出的项目数限制,不能与 page 和 page_size 参数同时使用
String
page
分页码,默认第一页,可选参数,不能与 marker 和 limit 参数同时使用
Number
pageSize
分页大小,默认 20,可选参数,不能与 marker 和 limit 参数同时使用
Number
orderBy
排序字段,按名称排序为 name,按修改时间排序为 modificationTime,按文件大小排序为 size,按创建时间排序为 creationTime
SMHFileListOrderBy
orderByType
排序方式,升序为 asc,降序为 desc
SMHOrderByType
directoryFilter
筛选方式,不传返回全部,onlyDir 只返回文件夹,onlyFile 只返回文件
SMHDirectoryFilter
sortType
排序方式,不传则文件和文件夹单独排序,先返回文件夹,后返回文件。union 文件和文件夹拉通排序
String
withFavoriteStatus
是否返回收藏状态
Bool
withInode
是否返回 inode,即文件目录 ID
Bool

创建目录或相簿

功能说明

用于创建目录或相簿。

示例代码

try{
let result = await SMHDirectoryApis.createDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath: "dir",
conflictResolutionStrategy: SMHConflictResolutionStrategy.rename,
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar;对于根目录,该参数留空
String
conflictResolutionStrategy
最后一级目录冲突时的处理方式
ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码
rename: 冲突时自动重命名最后一级目录
默认为 ask
SMHConflictResolutionStrategy
withInode
是否返回 inode,即文件目录 ID
Bool

删除目录或相簿

功能说明

用于删除目录或相簿。

示例代码

try{
let result = await SMHDirectoryApis.deleteDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath:'path'
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
permanent
当媒体库开启回收站时,则该参数指定将文件移入回收站还是永久删除文件,true: 永久删除,false: 移入回收站,默认为 false
Bool

复制目录或相簿

功能说明

用于复制目录或相簿。

示例代码

try {
let result = await SMHDirectoryApis.copyDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath: "path",
copyFrom: "from"
})
} catch (e) {
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
copyFrom
被复制的源目录或相簿路径
String
conflictResolutionStrategy
最后一级目录冲突时的处理方式
ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码
rename: 冲突时自动重命名最后一级目录
默认为 ask
SMHConflictResolutionStrategy

重命名/移动目录或相簿

功能说明

用于重命名或移动目录或相簿。

示例代码

try {
let result = await SMHDirectoryApis.moveDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath: "path",
from: "from"
})
} catch (e) {
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
from
被重命名或移动的源目录或相簿路径
String
conflictResolutionStrategy
最后一级目录冲突时的处理方式
ask: 冲突时返回 HTTP 409 Conflict 及 SameNameDirectoryOrFileExists 错误码
rename: 冲突时自动重命名最后一级目录
默认为 ask
SMHConflictResolutionStrategy

更新目录标签

功能说明

用于更新目录标签。

示例代码

try{
let result = await SMHDirectoryApis.updateLabels({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath:"path",
labels:["18","age"]
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
labels
文件标签列表
String 数组

获取文件/目录的额外信息

功能说明

用于获取文件/目录的额外信息。

示例代码

try {
let result = await SMHDirectoryApis.additionalInfo({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath: "test",
objectsKeys: ["key1"]
})
} catch (e) {
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录或文件路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
objectsKeys
每个元素都应该是 DirPath 下的一个文件或者目录的名字
String 数组

查看目录或相簿详情

功能说明

用于查看目录或相簿详情。

示例代码

try{
let result = await SMHDirectoryApis.directoryDetail({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath:"path",
withInode:true,
withFavoriteStatus:true
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String
withInode
是否返回 inode,即文件目录 ID
Bool

检查目录或相簿状态

功能说明

用于检查目录或相簿状态。

示例代码

try{
let result = await SMHDirectoryApis.headDirectory({
libraryId:"libraryId",
spaceId:"spaceId",
dirPath:"path"
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
dirPath
目录路径或相簿名,对于多级目录,使用斜杠(/)分隔,例如 foo/bar
String

获取相簿封面

功能说明

用于获取相簿封面。

示例代码

try{
let result = await SMHDirectoryApis.getAlbumCoverUrl({
libraryId:"libraryId",
spaceId:"spaceId",
albumName:"albumName",
size:"100"
});
}catch(e){
// 异常处理
}

参数说明

请求参数
描述
类型
是否必选
libraryId
媒体库 ID,在媒体托管控制台创建媒体库后获取,请参见 创建媒体库
String
spaceId
空间 ID,如果媒体库为单租户模式,则该参数固定为连字符(`-`);如果媒体库为多租户模式,则必须指定该参数,获取请参见 创建租户空间
String
albumName
相簿名,分相簿媒体库必须指定该参数,不分相簿媒体库不能指定该参数
String
size
缩放大小, 如果指定了该参数,则优先使用人脸识别智能缩放裁剪为 {Size}px × {Size}px 大小,如果未识别到人脸则居中缩放裁剪为 {Size}px × {Size}px 大小,如果未指定 {Size} 参数则使用原图
String