FileSystemEntry:copyTo() 方法

已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。

非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。

FileSystemEntry 介面的 copyTo() 方法將入口指定的 檔案 複製到檔案系統中的新位置。

對您可以執行的操作有一些典型限制。

  • 目錄不能複製到其自身中。
  • 條目不能複製到其父目錄中,除非您指定一個新名稱。
  • 複製目錄時,複製始終是遞迴的;您不能省略子資料夾。

語法

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

引數

newParent

一個指定複製操作目標目錄的 FileSystemDirectoryEntry 物件。

newName 可選

如果提供了此引數,則複製操作將獲得此字串作為其新的檔案或目錄名稱。

successCallback 可選

一個在複製操作成功完成時呼叫的函式。接收一個輸入引數:一個 FileSystemEntry 為基礎的物件,提供複製專案的詳細新資訊。

errorCallback 可選

在複製專案時發生錯誤時執行的可選回撥。有一個引數:一個 DOMException 描述了出了什麼問題。

返回值

無(undefined)。

異常

DOMException.INVALID_MODIFICATION_ERR

請求的操作涉及一個不可能的更改,例如將目錄移動到其自身或其子目錄之一中,或者在不重新命名的情況下在同一目錄內複製專案。

DOMException.QUOTA_EXCEEDED_ERR

操作超出了使用者的儲存配額,或剩餘儲存空間不足以完成該操作。

示例

此示例顯示瞭如何將臨時日誌檔案移動到更永久的“log”目錄中。

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

瀏覽器相容性

另見