FileSystemEntry:getParent() 方法

FileSystemEntry 接口的方法 getParent() 获取一个 FileSystemDirectoryEntry

语法

js
getParent(successCallback, errorCallback)
getParent(successCallback)

参数

successCallback

检索到父目录条目时调用的函数。回调函数接收一个输入参数:一个 FileSystemDirectoryEntry 对象,表示父目录。根目录的父目录被认为是根目录本身,因此请务必注意这一点。

errorCallback 可选

如果发生错误,则执行可选的回调函数。它有一个参数:一个 DOMException,描述了错误原因。

返回值

无 (undefined).

异常

FileError.INVALID_STATE_ERR

操作失败,因为文件系统的状态不允许执行此操作。例如,如果文件系统的缓存状态与文件系统的实际状态不同,则可能会发生这种情况。

FileError.NOT_FOUND_ERR

找不到指定的路径。

FileError.SECURITY_ERR

安全限制禁止获取父目录的信息。

示例

此示例将变量 fileEntry 指定的文件重命名为 "newname.html"

js
fileEntry.getParent(
  (parent) => {
    fileEntry.moveTo(parent, "newname.html", (updatedEntry) => {
      console.log(`File ${fileEntry.name} renamed to newname.html.`);
    });
  },
  (error) => {
    console.error(
      `An error occurred: Unable to rename ${fileEntry.name} to newname.html.`,
    );
  },
);

这是通过首先获取一个 FileSystemDirectoryEntry 对象来实现的,该对象表示文件当前所在的目录。然后使用 moveTo() 在该目录中重命名文件。

使用 Promise

目前,此方法没有 Promise 版本。但是,您可以创建一个简单的辅助函数来适配它,如下所示

js
function getParentPromise(entry) {
  return new Promise((resolve, reject) => {
    entry.getParent(resolve, reject);
  });
}

可以在文件和目录条目 API 的其他地方采用类似的方法。

规范

规范
文件和目录条目 API
# dom-filesystementry-getparent

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅