FileSystemEntry: copyTo() 方法

已弃用:此功能不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的 Web 标准中删除,或者正在被删除,或者可能只保留用于兼容性目的。避免使用它,如果可能,请更新现有代码;查看本页底部的 兼容性表格 来指导您的决定。请注意,此功能可能随时停止工作。

非标准:此功能是非标准的,并且不在标准轨道上。不要在面向 Web 的生产网站上使用它:它不会为每个用户工作。实现之间也可能存在很大的不兼容性,并且行为可能会在将来发生变化。

FileSystemEntry 接口的方法 copyTo() 将条目指定的 文件复制到文件系统上的新位置。

您所能做的事情有一些典型的限制

  • 目录不能复制到自身。
  • 条目不能复制到其父目录,除非您指定一个新名称。
  • 复制目录时,复制总是递归的;您不能省略子文件夹。

语法

js
copyTo(newParent)
copyTo(newParent, newName)
copyTo(newParent, newName, successCallback)
copyTo(newParent, newName, successCallback, errorCallback)

参数

newParent

一个 FileSystemDirectoryEntry 对象,指定复制操作的目标目录。

newName 可选

如果提供此参数,则复制将使用此字符串作为其新的文件或目录名称。

successCallback 可选

当复制操作成功完成时调用的函数。接收一个输入参数:一个 FileSystemEntry 基于对象,提供复制项目的新的详细信息。

errorCallback 可选

如果在复制项目时发生错误,则执行的可选回调函数。有一个参数:一个 FileError ,描述了出错的原因。

返回值

无 (undefined).

异常

FileError.INVALID_MODIFICATION_ERR

所请求的操作涉及不可能的更改,例如将目录移动到自身或其子目录中,或者在同一个目录中复制项目而没有重命名它。

FileError.QUOTA_EXCEEDED_ERR

操作超过了用户的存储配额,或者没有足够的存储空间来完成操作。

示例

此示例展示了如何将临时日志文件移动到更持久的“日志”目录。

js
workingDirectory.getFile(
  "tmp/log.txt",
  {},
  (fileEntry) => {
    workingDirectory.getDirectory(
      "log",
      {},
      (dirEntry) => {
        fileEntry.copyTo(dirEntry);
      },
      handleError,
    );
  },
  handleError,
);

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参见