FileSystemEntry: moveTo() method
Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.
Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.
Phương thức moveTo() của giao diện FileSystemEntry di chuyển tệp được chỉ định bởi mục đến một vị trí mới trong hệ thống tệp, hoặc đổi tên tệp nếu thư mục đích trùng với thư mục nguồn.
Có một số hạn chế điển hình về những gì bạn có thể làm:
- Không thể di chuyển một thư mục vào chính nó.
- Không thể di chuyển một mục vào thư mục cha của nó trừ khi bạn chỉ định tên mới. Chỉ định tên mới cho phép
moveTo()hoạt động như một thao tác đổi tên. - Khi di chuyển một thư mục, thao tác luôn đệ quy; bạn không thể bỏ qua các thư mục con.
- Không thể di chuyển tệp để thay thế thư mục đã có, và không thể di chuyển thư mục để thay thế tệp đã có. Tuy nhiên, tệp có thể thay thế tệp và thư mục có thể thay thế thư mục.
- Bạn chỉ có thể ghi đè thư mục nếu nó rỗng.
Cú pháp
moveTo(newParent, newName)
moveTo(newParent, newName, successCallback)
moveTo(newParent, newName, successCallback, errorCallback)
Tham số
newParent-
Một đối tượng
FileSystemDirectoryEntrychỉ định thư mục đích cho thao tác di chuyển. newNameOptional-
Nếu tham số này được cung cấp, mục sẽ được đổi tên thành chuỗi này làm tên tệp hoặc thư mục mới.
successCallbackOptional-
Hàm được gọi khi thao tác di chuyển hoàn tất thành công. Nhận một tham số đầu vào duy nhất: một đối tượng dựa trên
FileSystemEntrycung cấp thông tin chi tiết mới của mục đã di chuyển. errorCallbackOptional-
Callback tùy chọn được thực thi nếu xảy ra lỗi khi di chuyển các mục. Có một tham số duy nhất: một
DOMExceptionmô tả lỗi xảy ra.
Giá trị trả về
Không có (undefined).
Ngoại lệ
DOMException.INVALID_MODIFICATION_ERR-
Thao tác yêu cầu liên quan đến một thay đổi không thể thực hiện, chẳng hạn như di chuyển thư mục vào chính nó hoặc vào một trong các thư mục con của nó, hoặc sao chép một mục trong cùng thư mục mà không đổi tên.
DOMException.QUOTA_EXCEEDED_ERR-
Thao tác vượt quá hạn mức lưu trữ của người dùng, hoặc không còn đủ dung lượng để hoàn tất thao tác.
Ví dụ
Ví dụ này cho thấy cách một tệp nhật ký tạm thời có thể được chuyển vào thư mục "log" cố định hơn khi nó vượt quá một megabyte.
workingDirectory.getFile(
"tmp/log.txt",
{},
(fileEntry) => {
fileEntry.getMetadata((metadata) => {
if (metadata.size > 1048576) {
workingDirectory.getDirectory(
"log",
{},
(dirEntry) => {
fileEntry.moveTo(dirEntry);
},
handleError,
);
}
});
},
handleError,
);