FileSystemManager.rename
收藏我的收藏
基础库 1.15.0 开始支持本方法,这是一个异步方法。
重命名文件,可以把文件从 oldPath 移动到 newPath。
前提条件 | 无 |
业务背景 | 无 |
使用限制 | 无 |
注意事项 | 因为开发者只有在 ttfile://user 目录下才有写的权限,因此 rename 只能在用户目录下进行。 |
相关教程 | 无 |
语法
FileSystemManager.rename(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
oldPath | string | 是 | 源文件路径,可以是普通文件或目录,必须以 ttfile://user 开头 | 1.15.0 | |
newPath | string | 是 | 新文件路径,必须以 ttfile://user 开头 | 1.15.0 | |
success | function | 否 | 接口调用成功的回调函数 | 1.15.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 1.15.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成 功、失败都会执行) | 1.15.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "FileSystemManager.rename:ok" | 1.15.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "FileSystemManager.rename:fail" + 详细错误信息 | 1.15.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
20001 | invalid param | 参数错误 | 1.15.0 |
10401 | error stack | 小游戏框架内部错误,有需要请创建工单咨询 | 1.15.0 |
21101 | permission denied, $apiName $oldPath -> $newPath | 1.15.0 | |
21102 | no such file or directory, $apiName $oldPath -> $newPath | 1.15.0 | |
21103 | operation not permitted, $apiName $filePath | 1.15.0 | |
21104 | user dir saved file size limit exceeded | 1.15.0 | |
20000 | params $paramName is required | 1.15.0 | |
20000 | params $paramName type is not $paramType type | 1.15.0 | |
20000 | $paramName is invalid | 1.15.0 | |
21105 | operation failed | 小游戏框架内部错误,有需要请创建工单咨询 | 1.15.0 |
20000 | internal error | 小游戏框架内部错误,有需要请创建工单咨询 | 1.15.0 |
代码示例
const fileSystemManager = tt.getFileSystemManager(); fileSystemManager.getSavedFileList({ success(res) { res.fileList.forEach(removeExt); }, fail(res) { console.log("获取失败", res.errMsg); }, }); /** * @param {*} fileItem * @param {string} fileItem.filePath * @param {number} fileItem.createTime * @param {number} fileItem.size */ function removeExt(fileItem) { console.log(`移除 ${fileItem.filePath} 的 ext`); const newPath = fileItem.filePath.replace(/(\..+)?$/, ""); fileSystemManager.rename({ oldPath: fileItem.filePath, newPath, success(_res) { console.log("重命名成功"); }, fail(res) { console.log("重命名失败", res.errMsg); }, }); }