FileSystemEntry: moveTo() 方法
已棄用:此特性不再推薦。雖然某些瀏覽器可能仍然支援它,但它可能已經從相關的網路標準中刪除,可能正在刪除過程中,或者可能僅為相容性目的而保留。請避免使用它,如果可能,請更新現有程式碼;請參閱本頁底部的相容性表格以指導您的決策。請注意,此特性可能隨時停止工作。
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
FileSystemEntry 介面的 moveTo() 方法將條目指定的檔案的位置移動到檔案系統中的新位置,或者如果目標目錄與源目錄相同,則重新命名檔案。
在您可以執行的操作上有一些典型限制
- 不能將目錄移動到其自身內部。
- 除非您指定新名稱,否則不能將條目移動到其父目錄中。指定新名稱可讓
moveTo()同時兼具重新命名操作的功能。 - 移動目錄時,移動操作始終是遞迴的;您不能省略子資料夾。
- 您不能將檔案移動到替換現有目錄,也不能將目錄移動到替換現有檔案。但是,檔案可以替換檔案,目錄可以替換目錄。
- 只有當目錄為空時,您才能覆蓋它。
語法
js
moveTo(newParent, newName)
moveTo(newParent, newName, successCallback)
moveTo(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) => {
fileEntry.getMetadata((metadata) => {
if (metadata.size > 1048576) {
workingDirectory.getDirectory(
"log",
{},
(dirEntry) => {
fileEntry.moveTo(dirEntry);
},
handleError,
);
}
});
},
handleError,
);
瀏覽器相容性
載入中…