开发
API

FileSystemManager.rename

基础库 1.15.0 开始支持本方法,低版本需做兼容处理

重命名文件,可以把文件从 oldPath 移动到 newPath。

语法

FileSystemManager.rename(options)

参数说明

options

options 为 object 类型,属性描述如下:

属性名类型默认值必填说明最低支持版本
oldPathstring源文件路径,可以是普通文件或目录,必须以 ttfile://user 开头1.15.0
newPathstring新文件路径,必须以 ttfile://user 开头1.15.0
successFunction接口调用成功的回调函数1.15.0
failFunction接口调用失败的回调函数1.15.0
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)1.15.0

回调成功

回调参数为 object 类型,属性如下:

属性类型说明最低支持版本
errMsgstring1.15.0

回调失败

回调参数为 object 类型,属性如下:

属性类型说明最低支持版本
errMsgstring"rename:fail " + 详细错误信息1.15.0
errMsg 说明说明
fail permission denied, rename ${oldPath} -> ${newPath}指定源文件或目标文件没有写权限
fail no such file or directory, rename ${oldPath} -> ${newPath}源文件不存在,或目标文件路径的上层目录不存在

扫码体验

请使用字节宿主APP扫码

代码示例

开发者工具中预览

将所有保存的文件移除拓展标识

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);
    },
  });
}

Bug & Tip

  • Tip: 因为开发者只有在 ttfile://user 目录下才有写的权限, 因此 rename 只能在用户目录下进行。
点击纠错
评价此篇文档