Nội dung mô tả
Sử dụng API chrome.fileSystem
để tạo, đọc, điều hướng và ghi vào hệ thống tệp cục bộ của người dùng. Với API này, Ứng dụng Chrome có thể đọc và ghi vào vị trí do người dùng chọn. Ví dụ: ứng dụng chỉnh sửa văn bản có thể sử dụng API để đọc và ghi tài liệu cục bộ. Tất cả lỗi sẽ được thông báo qua chrome.runtime.lastError.
Quyền
fileSystem
Phạm vi cung cấp
Loại
AcceptOption
Thuộc tính
-
description
chuỗi không bắt buộc
Đây là phần mô tả văn bản không bắt buộc cho lựa chọn này. Nếu không có, mô tả sẽ được tạo tự động; thường chứa danh sách mở rộng các phần mở rộng hợp lệ (ví dụ: "text/html" có thể mở rộng thành "*.html, *.htm").
-
tiện ích
string[] không bắt buộc
Các tiện ích được chấp nhận, ví dụ: "jpg", "gif", "crx".
-
mimeTypes
string[] không bắt buộc
Các loại Mime cần chấp nhận, ví dụ: "image/jpeg" hoặc "audio/*". Một trong các mimeTypes hoặc phần mở rộng phải chứa ít nhất một phần tử hợp lệ.
ChooseEntryOptions
Thuộc tính
-
chấp nhận
AcceptOption[] không bắt buộc
Danh sách tuỳ chọn chấp nhận cho trình mở tệp này (không bắt buộc). Mỗi lựa chọn sẽ được cung cấp dưới dạng một nhóm riêng biệt cho người dùng cuối.
-
acceptsAllTypes
boolean không bắt buộc
Liệu có chấp nhận tất cả các loại tệp ngoài các lựa chọn được chỉ định trong đối số chấp nhận hay không. Giá trị mặc định là "true". Nếu trường chấp nhận không được đặt hoặc không chứa mục nhập hợp lệ nào, thì giá trị này sẽ luôn được đặt lại thành true.
-
acceptsMultiple
boolean không bắt buộc
Liệu có chấp nhận nhiều tệp hay không. Tính năng này chỉ được hỗ trợ cho openFile và openWritableFile. Lệnh gọi lại đến chooseEntry sẽ được gọi với danh sách các mục nhập nếu giá trị này được đặt thành true. Nếu không, hệ thống sẽ gọi bằng một Mục nhập duy nhất.
-
suggestedName
chuỗi không bắt buộc
Tên tệp đề xuất sẽ hiển thị với người dùng dưới dạng tên mặc định để đọc hoặc ghi. Việc này là không bắt buộc.
-
loại
ChooseEntryType không bắt buộc
Loại câu lệnh sẽ hiển thị. Lựa chọn mặc định là "openFile".
ChooseEntryType
Liệt kê
"openFile"
Nhắc người dùng mở một tệp hiện có và trả về một FileEntry khi thành công. Từ Chrome 31 trở đi, FileEntry sẽ có thể ghi được nếu ứng dụng có quyền "ghi" trong "fileSystem"; nếu không, FileEntry sẽ ở chế độ chỉ đọc.
"openWritableFile"
Nhắc người dùng mở một tệp hiện có và trả về một FileEntry có thể ghi khi thành công. Các lệnh gọi dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem".
"saveFile"
Nhắc người dùng mở một tệp hiện có hoặc một tệp mới và trả về một FileEntry có thể ghi khi thành công. Các lệnh gọi dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem".
"openDirectory"
Nhắc người dùng mở một thư mục và trả về một DirectoryEntry khi thành công. Các lệnh gọi dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có quyền "thư mục" trong "fileSystem". Nếu ứng dụng có quyền "ghi" trong "fileSystem", thì DirectoryEntry được trả về sẽ có thể ghi được; nếu không thì thư mục này sẽ ở chế độ chỉ đọc. Tính năng mới trong Chrome 31.
RequestFileSystemOptions
Thuộc tính
-
volumeId
string
Mã của phương tiện nhớ được yêu cầu.
-
có thể ghi
boolean không bắt buộc
Liệu hệ thống tệp được yêu cầu có thể ghi được hay không. Mặc định là chỉ đọc.
Volume
Thuộc tính
-
volumeId
string
-
có thể ghi
boolean
VolumeListChangedEvent
Thuộc tính
-
tập
Âm lượng[]
Phương thức
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
)
Hãy yêu cầu người dùng chọn một tệp hoặc thư mục.
Tham số
-
tùy chọn
ChooseEntryOptions không bắt buộc
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
mục nhập
Mục nhập không bắt buộc
-
fileEntries
Mục nhập tệp[] không bắt buộc
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
)
Lấy đường dẫn hiển thị của một đối tượng Mục nhập. Đường dẫn hiển thị dựa trên đường dẫn đầy đủ của tệp hoặc thư mục trên hệ thống tệp cục bộ, nhưng có thể dễ đọc hơn để hiển thị.
Tham số
-
mục nhập
Vé vào cửa
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(displayPath: string) => void
-
displayPath
string
-
Giá trị trả về
-
Hứa hẹn<string>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
)
Trả về danh sách các tập hiện có cho requestFileSystem()
. Cần có quyền đối với tệp kê khai "fileSystem": {"requestFileSystem"}
. Chỉ dành cho các ứng dụng kiosk chạy trong phiên kiosk. Trong trường hợp xảy ra lỗi, volumes
sẽ không xác định và chrome.runtime.lastError
sẽ được đặt.
Tham số
Giá trị trả về
-
Hứa hẹn<Âm lượng[] | không xác định>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
)
Nhận một mục nhập có thể ghi từ một mục nhập khác. Lệnh gọi này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem". Nếu mục nhập là một DirectoryEntry, lệnh gọi này sẽ không thực hiện được nếu ứng dụng không có quyền "thư mục" trong "fileSystem".
Tham số
-
mục nhập
Vé vào cửa
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(entry: Entry) => void
-
mục nhập
Vé vào cửa
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
)
Trả về việc ứng dụng có quyền khôi phục mục nhập có mã nhận dạng đã cho hay không.
Tham số
-
id
string
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(isRestorable: boolean) => void
-
isRestorable
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
)
Lấy xem Mục nhập này có thể ghi hay không.
Tham số
-
mục nhập
Vé vào cửa
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(isWritable: boolean) => void
-
isWritable
boolean
-
Giá trị trả về
-
Promise<boolean>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
)
Yêu cầu quyền truy cập vào hệ thống tệp cho một ổ đĩa được biểu thị bằng options.volumeId
. Nếu bạn đặt options.writable
thành true thì hệ thống tệp sẽ có thể ghi. Nếu không, giá trị này sẽ ở chế độ chỉ đọc. Tuỳ chọn writable
yêu cầu quyền "fileSystem": {"write"}
trong tệp kê khai. Chỉ dành cho các ứng dụng kiosk chạy trong phiên kiosk. Đối với chế độ kiosk khởi chạy thủ công, hộp thoại xác nhận sẽ hiển thị ở đầu cửa sổ ứng dụng đang hoạt động. Trong trường hợp xảy ra lỗi, fileSystem
sẽ không xác định và chrome.runtime.lastError
sẽ được đặt.
Tham số
-
tùy chọn
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(fileSystem?: FileSystem) => void
-
fileSystem
Hệ thống tệp không bắt buộc
-
Giá trị trả về
-
Promise<FileSystem | undefined>
Chrome 117 trở lênLời hứa chỉ được hỗ trợ cho Manifest V3 trở lên, các nền tảng khác cần sử dụng lệnh gọi lại.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
)
Trả về mục nhập tệp có mã nhận dạng cho trước nếu có thể khôi phục được. Nếu không, lệnh gọi này sẽ không thực hiện được và có lỗi thời gian chạy.
Tham số
-
id
string
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(entry: Entry) => void
-
mục nhập
Vé vào cửa
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
)
Trả về một mã nhận dạng có thể được truyền vào recoveryEntry để lấy lại quyền truy cập vào một mục nhất định trong tệp. Chỉ giữ lại 500 mục nhập được sử dụng gần đây nhất, trong đó các lệnh gọi giữ lạiEntry và recoveryEntry là giá trị sử dụng. Nếu ứng dụng có quyền "retainEntries" trong "fileSystem", thì các mục sẽ được lưu giữ vô thời hạn. Nếu không, các mục nhập sẽ chỉ được giữ lại trong khi ứng dụng đang chạy và các lần khởi động lại.
Tham số
-
mục nhập
Vé vào cửa
Giá trị trả về
-
string
Sự kiện
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Được gọi khi danh sách các ổ đĩa hiện có được thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(event: VolumeListChangedEvent) => void
-
event
-