FileSystemDirectoryEntry: getDirectory() method
Phương thức getDirectory() của giao diện FileSystemDirectoryEntry trả về một đối tượng FileSystemDirectoryEntry tương ứng với một thư mục nằm ở đâu đó trong cây thư mục con bắt đầu từ thư mục mà nó được gọi.
Cú pháp
getDirectory()
getDirectory(path)
getDirectory(path, options)
getDirectory(path, options, successCallback)
getDirectory(path, options, successCallback, errorCallback)
Tham số
pathOptional-
Một chuỗi đại diện cho đường dẫn tuyệt đối hoặc đường dẫn tương đối với thư mục mà phương thức được gọi, mô tả mục thư mục nào cần trả về. Đường dẫn tuyệt đối có thể không sử dụng được vì lý do bảo mật.
optionsOptional-
Một đối tượng cho phép bạn chỉ định có tạo mục hay không nếu nó bị thiếu và có phải là lỗi nếu tệp đã tồn tại hay không. Các tùy chọn này hiện không hữu ích trong ngữ cảnh Web. Xem phần tham số options để biết thêm chi tiết.
successCallbackOptional-
Một phương thức được gọi khi
FileSystemDirectoryEntryđã được tạo. Phương thức nhận một tham số đơn: đối tượngFileSystemDirectoryEntryđại diện cho thư mục. errorCallbackOptional-
Một phương thức được gọi nếu xảy ra lỗi. Nhận một tham số đầu vào duy nhất là đối tượng
DomExceptionmô tả lỗi xảy ra.
Tham số options
Đối tượng tham số options chấp nhận các tham số sau:
createOptional-
Nếu thuộc tính này là
truevà thư mục được yêu cầu không tồn tại, tác nhân người dùng sẽ tạo nó. Mặc định làfalse. Thư mục cha phải đã tồn tại. exclusiveOptional-
Nếu
truevà tùy chọncreatecũng làtrue, thư mục không được tồn tại trước khi phát lệnh gọi. Thay vào đó, phải có thể tạo nó mới vào thời điểm gọi. Mặc định làfalse. Tham số này bị bỏ qua nếucreatelàfalse.
Bảng dưới đây mô tả kết quả của từng tổ hợp cờ tùy theo điều kiện đường dẫn đích:
Tùy chọn create |
Tùy chọn exclusive |
Điều kiện đường dẫn | Kết quả |
|---|---|---|---|
false |
Bị bỏ qua | Đường dẫn tồn tại và là thư mục | successCallback được gọi với FileSystemDirectoryEntry. |
false |
Bị bỏ qua | Đường dẫn tồn tại nhưng là tệp | errorCallback được gọi với mã lỗi thích hợp (nếu callback được cung cấp). |
true |
false |
Đường dẫn tồn tại | Thư mục hiện tại bị xóa và thay thế bằng thư mục mới, sau đó successCallback được gọi với FileSystemDirectoryEntry. |
true |
false |
Đường dẫn không tồn tại | Thư mục được tạo, sau đó FileSystemDirectoryEntry được truyền vào successCallback. |
true |
true |
Đường dẫn tồn tại | errorCallback được gọi với lỗi thích hợp, chẳng hạn DOMException.PATH_EXISTS_ERR. |
true |
true |
Đường dẫn không tồn tại | Thư mục được tạo, sau đó FileSystemDirectoryEntry được truyền vào successCallback. |
Giá trị trả về
Không có (undefined).
Ngoại lệ
NotFoundErrorDOMException-
Được ném ra nếu tùy chọn
createkhông được chỉ định (hoặc được chỉ định làfalse), và thư mục không tồn tại. SecurityErrorDOMException-
Được ném ra nếu yêu cầu truy cập thư mục bị từ chối vì lý do bảo mật.
TypeMismatchErrorDOMException-
Được ném ra nếu đường dẫn được chỉ định không phải là thư mục; có thể là tệp, hoặc bộ mô tả tệp không được hỗ trợ như một đường ống; điều này phụ thuộc vào tác nhân người dùng ở một mức độ nào đó.
Ví dụ
Trong ví dụ này, hàm tìm một tệp JSON trong thư mục dữ liệu ứng dụng của người dùng chứa từ điển người dùng cho ngôn ngữ được chỉ định, sau đó tải từ điển đó.
let dictionary = null;
function loadDictionaryForLanguage(appDataDirEntry, lang) {
dictionary = null;
appDataDirEntry.getDirectory("Dictionaries", {}, (dirEntry) => {
dirEntry.getFile(`${lang}-dict.json`, {}, (fileEntry) => {
fileEntry.file((dictFile) => {
let reader = new FileReader();
reader.addEventListener("loadend", () => {
dictionary = JSON.parse(reader.result);
});
reader.readAsText(dictFile);
});
});
});
}
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| File and Directory Entries API> # dom-filesystemdirectoryentry-getdirectory> |