refresh date: 2026-09-25 robots: noindex
Mô tả
Sử dụng API chrome.fileSystemProvider để tạo hệ thống tệp, có thể truy cập được từ trình quản lý tệp trên Chrome OS.
Quyền
fileSystemProviderPhạm vi cung cấp
Tệp kê khai
Bạn phải khai báo quyền và phần "fileSystemProvider" trong tệp kê khai tiện ích để sử dụng API Nhà cung cấp hệ thống tệp. Ví dụ:
{
"name": "My extension",
...
"permissions": [
"fileSystemProvider"
],
...
"file_system_provider_capabilities": {
"configurable": true,
"watchable": false,
"multiple_mounts": true,
"source": "network"
},
...
}
Bạn phải khai báo phần file_system_provider như sau:
configurable(boolean) – không bắt buộc- Liệu có hỗ trợ việc định cấu hình thông qua onConfigureRequested hay không. Theo mặc định: false.
multiple_mounts(boolean) – không bắt buộc- Liệu có hỗ trợ nhiều (hơn một) hệ thống tệp được gắn hay không. Theo mặc định: false.
watchable(boolean) – không bắt buộc- Liệu có hỗ trợ việc thiết lập trình theo dõi và thông báo về các thay đổi hay không. Theo mặc định: false.
source(enum của "file", "device" hoặc "network") – bắt buộc- Nguồn dữ liệu cho hệ thống tệp được gắn.
Ứng dụng Files sử dụng thông tin nêu trên để hiển thị các phần tử trên giao diện người dùng liên quan một cách phù hợp. Ví dụ: nếu configurable được đặt thành true, thì một mục trong trình đơn để định cấu hình ổ đĩa sẽ được hiển thị. Tương tự, nếu multiple_mounts được đặt thành true, thì ứng dụng Files sẽ cho phép thêm nhiều điểm gắn từ giao diện người dùng. Nếu watchable là false, thì nút làm mới sẽ được hiển thị. Lưu ý rằng nếu có thể, bạn nên thêm tính năng hỗ trợ cho trình theo dõi để các thay đổi trên hệ thống tệp có thể được phản ánh ngay lập tức và tự động.
Tổng quan
API Nhà cung cấp hệ thống tệp cho phép các tiện ích hỗ trợ hệ thống tệp ảo, có trong trình quản lý tệp trên ChromeOS. Các trường hợp sử dụng bao gồm giải nén tệp lưu trữ và truy cập vào tệp trong một dịch vụ đám mây không phải Drive.
Đang gắn hệ thống tệp
Các tiện ích cung cấp có thể cung cấp nội dung hệ thống tệp từ một nguồn bên ngoài (chẳng hạn như máy chủ từ xa hoặc thiết bị USB) hoặc sử dụng tệp cục bộ (chẳng hạn như tệp lưu trữ) làm dữ liệu đầu vào.
Để ghi hệ thống tệp là trình xử lý tệp (nguồn là "file"), nhà cung cấp phải là một ứng dụng đóng gói, vì sự kiện onLaunched không áp dụng cho tiện ích.
Nếu nguồn là mạng hoặc thiết bị, thì hệ thống tệp phải được gắn kết khi sự kiện onMountRequested được gọi.
| Nguồn của dữ liệu hệ thống tệp | Điểm mục nhập |
|---|---|
"file" |
Chỉ dành cho ứng dụng đóng gói. |
"device" hoặc "network" |
onMountRequested |
Định cấu hình hệ thống tệp
Bạn có thể định cấu hình hệ thống tệp được cung cấp sau khi gắn thông qua sự kiện onConfigureRequested. Điều này đặc biệt hữu ích đối với các hệ thống tệp cung cấp nội dung qua mạng để đặt thông tin xác thực phù hợp. Bạn có thể xử lý sự kiện này hoặc không.
Vòng đời
Sau khi được gắn, hệ thống tệp được cung cấp sẽ được Chrome ghi nhớ và tự động gắn lại sau khi khởi động lại. Do đó, sau khi một hệ thống tệp được gắn bởi một tiện ích cung cấp, hệ thống tệp đó sẽ được giữ nguyên cho đến khi tiện ích đó bị huỷ tải hoặc tiện ích đó gọi phương thức unmount.
Loại
AbortRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
operationRequestId
số
Mã nhận dạng của yêu cầu cần huỷ.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
Action
Thuộc tính
-
id
chuỗi
Giá trị nhận dạng của hành động. Chuỗi bất kỳ hoặc
CommonActionIdcho các thao tác phổ biến. -
tiêu đề
chuỗi không bắt buộc
Tiêu đề của hành động. Bạn có thể bỏ qua thuộc tính này đối với các hành động phổ biến.
AddWatcherRequestedOptions
Thuộc tính
-
entryPath
chuỗi
Đường dẫn của mục nhập cần quan sát.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
đệ quy
boolean
Liệu việc quan sát có nên bao gồm tất cả các mục con theo cách đệ quy hay không. Giá trị này chỉ có thể là true đối với thư mục.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
Change
Thuộc tính
-
changeType
Loại thay đổi đã xảy ra với mục nhập.
-
cloudFileInfo
CloudFileInfo không bắt buộc
Chrome 125 trở lênThông tin liên quan đến tệp nếu được hệ thống tệp trên đám mây hỗ trợ.
-
entryPath
chuỗi
Đường dẫn của mục đã thay đổi.
ChangeType
Loại thay đổi được phát hiện trên thư mục được quan sát.
Enum
"CHANGED"
"DELETED"
CloseFileRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
openRequestId
số
Mã yêu cầu dùng để mở tệp.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
CloudFileInfo
Thuộc tính
-
versionTag
chuỗi không bắt buộc
Một thẻ đại diện cho phiên bản của tệp.
CloudIdentifier
Thuộc tính
-
id
chuỗi
Giá trị nhận dạng của nhà cung cấp cho tệp/thư mục đã cho.
-
providerName
chuỗi
Giá trị nhận dạng của nhà cung cấp dịch vụ lưu trữ trên đám mây (ví dụ: "drive.google.com").
CommonActionId
Danh sách các thao tác thường dùng. "SHARE" là để chia sẻ tệp với người khác. "SAVE_FOR_OFFLINE" để ghim (lưu để xem không cần mạng). "OFFLINE_NOT_NECESSARY" để thông báo rằng tệp không cần được lưu trữ để xem không cần mạng nữa. Được onGetActionsRequested và onExecuteActionRequested sử dụng.
Enum
"SAVE_FOR_OFFLINE"
"OFFLINE_NOT_NECESSARY"
"CHIA SẺ"
ConfigureRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp cần định cấu hình.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
CopyEntryRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
-
sourcePath
chuỗi
Đường dẫn nguồn của mục cần sao chép.
-
targetPath
chuỗi
Đường dẫn đích cho thao tác sao chép.
CreateDirectoryRequestedOptions
Thuộc tính
-
directoryPath
chuỗi
Đường dẫn của thư mục cần tạo.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
đệ quy
boolean
Liệu thao tác có đệ quy hay không (chỉ dành cho thư mục).
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
CreateFileRequestedOptions
Thuộc tính
-
filePath
chuỗi
Đường dẫn của tệp cần tạo.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
DeleteEntryRequestedOptions
Thuộc tính
-
entryPath
chuỗi
Đường dẫn của mục cần xoá.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
đệ quy
boolean
Liệu thao tác có đệ quy hay không (chỉ dành cho thư mục).
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
EntryMetadata
Thuộc tính
-
cloudFileInfo
CloudFileInfo không bắt buộc
Chrome 125 trở lênThông tin giúp xác định một tệp cụ thể trong hệ thống tệp đám mây cơ bản. Phải được cung cấp nếu được yêu cầu trong
optionsvà tệp được sao lưu bằng bộ nhớ trên đám mây. -
cloudIdentifier
CloudIdentifier không bắt buộc
Chrome 117 trở lênBiểu thị bộ nhớ trên đám mây của mục này. Phải được cung cấp nếu được yêu cầu trong
optionsvà tệp được sao lưu bằng bộ nhớ trên đám mây. Đối với các tệp trên thiết bị không được sao lưu bằng bộ nhớ trên đám mây, bạn không nên xác định các tệp này khi được yêu cầu. -
isDirectory
boolean không bắt buộc
Đúng nếu đó là một thư mục. Bạn phải cung cấp nếu được yêu cầu trong
options. -
mimeType
chuỗi không bắt buộc
Loại MIME cho mục nhập. Luôn không bắt buộc, nhưng phải được cung cấp nếu được yêu cầu trong
options. -
modificationTime
Ngày không bắt buộc
Thời gian sửa đổi gần đây nhất của mục này. Bạn phải cung cấp nếu được yêu cầu trong
options. -
tên
chuỗi không bắt buộc
Tên của mục này (không phải tên đường dẫn đầy đủ). Không được chứa dấu "/". Đối với thư mục gốc, bạn phải để trống. Bạn phải cung cấp nếu được yêu cầu trong
options. -
size
number không bắt buộc
Kích thước tệp tính bằng byte. Bạn phải cung cấp nếu được yêu cầu trong
options. -
hình thu nhỏ
chuỗi không bắt buộc
Hình thu nhỏ dưới dạng URI dữ liệu ở định dạng PNG, JPEG hoặc WEBP, có kích thước tối đa là 32 KB. Không bắt buộc, nhưng chỉ có thể được cung cấp khi sự kiện
onGetMetadataRequestedyêu cầu rõ ràng.
ExecuteActionRequestedOptions
Thuộc tính
-
actionId
chuỗi
Giá trị nhận dạng của hành động cần thực thi.
-
entryPaths
string[]
Chrome 47 trở lênTập hợp đường dẫn của các mục cần dùng cho hành động.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
FileSystemInfo
Thuộc tính
-
Tên hiển thị
chuỗi
Tên mà con người có thể đọc được của hệ thống tệp.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp.
-
openedFiles
Danh sách các tệp đang mở.
-
openedFilesLimit
số
Số lượng tệp tối đa có thể mở cùng một lúc. Nếu là 0 thì không giới hạn.
-
supportsNotifyTag
boolean không bắt buộc
Chrome 45 trở lênLiệu hệ thống tệp có hỗ trợ trường
tagđể quan sát các thư mục hay không. -
người xem
Watcher[]
Chrome 45 trở lênDanh sách người xem.
-
có thể ghi
boolean
Liệu hệ thống tệp có hỗ trợ các thao tác có thể thay đổi nội dung của hệ thống tệp hay không (chẳng hạn như tạo, xoá hoặc ghi vào tệp).
GetActionsRequestedOptions
Thuộc tính
-
entryPaths
string[]
Chrome 47 trở lênDanh sách đường dẫn của các mục cho danh sách hành động.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
GetMetadataRequestedOptions
Thuộc tính
-
cloudFileInfo
boolean
Chrome 125 trở lênĐặt thành
truenếu giá trịcloudFileInfođược yêu cầu. -
cloudIdentifier
boolean
Chrome 117 trở lênĐặt thành
truenếu giá trịcloudIdentifierđược yêu cầu. -
entryPath
chuỗi
Đường dẫn của mục nhập để tìm nạp siêu dữ liệu.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
isDirectory
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịis_directoryđược yêu cầu. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịmimeTypeđược yêu cầu. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịmodificationTimeđược yêu cầu. -
tên
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịnameđược yêu cầu. -
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
-
size
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịsizeđược yêu cầu. -
hình thu nhỏ
boolean
Đặt thành
truenếu giá trịthumbnailđược yêu cầu.
MountOptions
Thuộc tính
-
Tên hiển thị
chuỗi
Tên mà con người có thể đọc được của hệ thống tệp.
-
fileSystemId
chuỗi
Giá trị nhận dạng chuỗi của hệ thống tệp. Phải là duy nhất cho mỗi tiện ích.
-
openedFilesLimit
number không bắt buộc
Số lượng tệp tối đa có thể mở cùng một lúc. Nếu không được chỉ định hoặc bằng 0, thì không bị giới hạn.
-
bền vững
boolean không bắt buộc
Chrome 64 trở lênLiệu khung có nên tiếp tục hệ thống tệp ở phiên đăng nhập tiếp theo hay không. Đúng theo mặc định.
-
supportsNotifyTag
boolean không bắt buộc
Chrome 45 trở lênLiệu hệ thống tệp có hỗ trợ trường
tagcho các thư mục được quan sát hay không. -
có thể ghi
boolean không bắt buộc
Liệu hệ thống tệp có hỗ trợ các thao tác có thể thay đổi nội dung của hệ thống tệp hay không (chẳng hạn như tạo, xoá hoặc ghi vào tệp).
MoveEntryRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
-
sourcePath
chuỗi
Đường dẫn nguồn của mục cần di chuyển đến vị trí mới.
-
targetPath
chuỗi
Đường dẫn đích cho thao tác sao chép.
NotifyOptions
Thuộc tính
-
changeType
Loại thay đổi đã xảy ra với mục nhập được quan sát. Nếu mục nhập đó bị XOÁ, thì mục nhập được quan sát sẽ tự động bị xoá khỏi danh sách các mục nhập được quan sát.
-
các thay đổi
Thay đổi[] không bắt buộc
Danh sách các thay đổi đối với các mục trong thư mục được quan sát (bao gồm cả chính mục đó)
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thay đổi này.
-
observedPath
chuỗi
Đường dẫn của mục được quan sát.
-
đệ quy
boolean
Chế độ của mục nhập được quan sát.
-
thẻ
chuỗi không bắt buộc
Thẻ cho thông báo. Bắt buộc nếu hệ thống tệp được gắn bằng tuỳ chọn
supportsNotifyTag. Lưu ý rằng cờ này là cần thiết để cung cấp thông báo về những thay đổi đã thay đổi ngay cả khi hệ thống tắt.
OpenedFile
Thuộc tính
-
filePath
chuỗi
Đường dẫn của tệp đã mở.
-
chế độ
Liệu tệp được mở để đọc hay ghi.
-
openRequestId
số
Mã yêu cầu được dùng cho các yêu cầu đọc/ghi và đóng liên tiếp.
OpenFileMode
Chế độ mở tệp. Được onOpenFileRequested sử dụng.
Enum
"READ"
"WRITE"
OpenFileRequestedOptions
Thuộc tính
-
filePath
chuỗi
Đường dẫn của tệp cần mở.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
chế độ
Liệu tệp sẽ được dùng để đọc hay ghi.
-
requestId
số
Mã yêu cầu sẽ được các yêu cầu đọc/ghi và đóng liên tiếp sử dụng.
ProviderError
Mã lỗi được các tiện ích cung cấp sử dụng để phản hồi yêu cầu cũng như trong trường hợp xảy ra lỗi khi gọi các phương thức của API. Để thành công, bạn phải sử dụng "OK".
Enum
"OK"
"FAILED"
"IN_USE"
"EXISTS"
"NOT_FOUND"
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"INVALID_OPERATION"
"BẢO MẬT"
"ABORT"
"NOT_A_FILE"
"NOT_EMPTY"
"INVALID_URL"
"IO"
ReadDirectoryRequestedOptions
Thuộc tính
-
directoryPath
chuỗi
Đường dẫn của thư mục có nội dung được yêu cầu.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
isDirectory
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịis_directoryđược yêu cầu. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịmimeTypeđược yêu cầu. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịmodificationTimeđược yêu cầu. -
tên
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịnameđược yêu cầu. -
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
-
size
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịsizeđược yêu cầu. -
hình thu nhỏ
boolean
Chrome 49 trở lênĐặt thành
truenếu giá trịthumbnailđược yêu cầu.
ReadFileRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
chiều dài
số
Số byte cần trả về.
-
độ lệch
số
Vị trí trong tệp (tính bằng byte) để bắt đầu đọc.
-
openRequestId
số
Mã yêu cầu dùng để mở tệp.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
RemoveWatcherRequestedOptions
Thuộc tính
-
entryPath
chuỗi
Đường dẫn của mục được xem.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
đệ quy
boolean
Chế độ của trình theo dõi.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
TruncateRequestedOptions
Thuộc tính
-
filePath
chuỗi
Đường dẫn của tệp cần cắt bớt.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
chiều dài
số
Số byte cần giữ lại sau khi thao tác hoàn tất.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
UnmountOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp cần ngắt kết nối.
UnmountRequestedOptions
Thuộc tính
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp cần ngắt kết nối.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
Watcher
Thuộc tính
-
entryPath
chuỗi
Đường dẫn của mục đang được quan sát.
-
lastTag
chuỗi không bắt buộc
Thẻ được thông báo gần đây nhất sử dụng cho trình xem.
-
đệ quy
boolean
Liệu việc xem có nên bao gồm tất cả các mục con theo cách đệ quy hay không. Giá trị này chỉ có thể là true đối với thư mục.
WriteFileRequestedOptions
Thuộc tính
-
khác
ArrayBuffer
Vùng đệm của các byte cần ghi vào tệp.
-
fileSystemId
chuỗi
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
độ lệch
số
Vị trí trong tệp (tính bằng byte) để bắt đầu ghi byte.
-
openRequestId
số
Mã yêu cầu dùng để mở tệp.
-
requestId
số
Giá trị nhận dạng riêng biệt của yêu cầu này.
Phương thức
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
callback?: function,
): Promise<FileSystemInfo>
Trả về thông tin về hệ thống tệp có fileSystemId được truyền.
Thông số
-
fileSystemId
chuỗi
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
Giá trị trả về
-
Promise<FileSystemInfo>
Chrome 96 trở lênLệnh gọi lại để nhận kết quả của hàm
get.Lờ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.
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
): Promise<FileSystemInfo[]>
Trả về tất cả hệ thống tệp được tiện ích gắn kết.
Thông số
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
Giá trị trả về
-
Promise<FileSystemInfo[]>
Chrome 96 trở lênLệnh gọi lại để nhận kết quả của hàm
getAll.Lờ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.
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
): Promise<void>
Gắn một hệ thống tệp có fileSystemId và displayName đã cho. displayName sẽ xuất hiện trong bảng điều khiển bên trái của ứng dụng Files. displayName có thể chứa bất kỳ ký tự nào, kể cả "/", nhưng không được là một chuỗi trống. displayName phải mang tính mô tả nhưng không nhất thiết phải là duy nhất. fileSystemId không được là một chuỗi trống.
Tuỳ thuộc vào loại hệ thống tệp đang được gắn, bạn phải đặt tuỳ chọn source cho phù hợp.
Trong trường hợp xảy ra lỗi, runtime.lastError sẽ được đặt bằng mã lỗi tương ứng.
Thông số
-
tùy chọn
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLệnh gọi lại kết quả chung để cho biết thành công hay thất bại.
Lờ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.
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
): Promise<void>
Thông báo về các thay đổi trong thư mục được theo dõi tại observedPath ở chế độ recursive. Nếu hệ thống tệp được gắn với supportsNotifyTag, thì bạn phải cung cấp tag và tất cả các thay đổi kể từ thông báo gần đây nhất luôn được báo cáo, ngay cả khi hệ thống đã tắt. Bạn có thể lấy thẻ gần đây nhất bằng getAll.
Để sử dụng, bạn phải đặt tuỳ chọn tệp kê khai file_system_provider.notify thành true.
Giá trị của tag có thể là bất kỳ chuỗi nào là duy nhất cho mỗi lệnh gọi, vì vậy, bạn có thể xác định thông báo được đăng ký gần đây nhất. Ví dụ: nếu tiện ích cung cấp bắt đầu sau khi khởi động lại và thẻ của thông báo đã đăng ký gần đây nhất bằng "123", thì tiện ích đó sẽ gọi notify cho tất cả các thay đổi đã xảy ra kể từ khi thay đổi được gắn thẻ là "123". Chuỗi này không được để trống.
Không phải nhà cung cấp nào cũng có thể cung cấp thẻ, nhưng nếu hệ thống tệp có nhật ký thay đổi, thì thẻ có thể là số thay đổi hoặc số bản sửa đổi.
Xin lưu ý rằng nếu một thư mục mẹ bị xoá, thì tất cả các mục con cũng sẽ bị xoá và nếu các mục đó được theo dõi, thì API phải được thông báo về việc này. Ngoài ra, nếu một thư mục được đổi tên, thì tất cả các mục con thực tế sẽ bị xoá, vì không còn mục nào trong đường dẫn ban đầu của chúng nữa.
Trong trường hợp xảy ra lỗi, runtime.lastError sẽ được đặt thành mã lỗi tương ứng.
Thông số
-
tùy chọn
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLệnh gọi lại kết quả chung để cho biết thành công hay thất bại.
Lờ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.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
): Promise<void>
Ngắt kết nối hệ thống tệp bằng fileSystemId đã cho. Bạn phải gọi phương thức này sau khi gọi onUnmountRequested. Ngoài ra, tiện ích cung cấp có thể quyết định thực hiện việc ngắt kết nối nếu không được yêu cầu (ví dụ: trong trường hợp mất kết nối hoặc lỗi tệp).
Trong trường hợp xảy ra lỗi, runtime.lastError sẽ được đặt bằng mã lỗi tương ứng.
Thông số
-
tùy chọn
-
callback
hàm không bắt buộc
Tham số
callbackcó dạng như sau:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLệnh gọi lại kết quả chung để cho biết thành công hay thất bại.
Lờ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.
Sự kiện
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu huỷ một thao tác bằng operationRequestId. Thao tác được thực thi bằng operationRequestId phải được dừng ngay lập tức và successCallback của yêu cầu huỷ này phải được thực thi. Nếu không huỷ được, bạn phải gọi errorCallback. Lưu ý rằng không được gọi lệnh gọi lại của thao tác bị huỷ vì chúng sẽ bị bỏ qua. Mặc dù đã gọi errorCallback, nhưng yêu cầu có thể bị buộc phải huỷ.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu thiết lập trình theo dõi thư mục mới. Nếu xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
Được kích hoạt khi mở một tệp đã mở trước đó bằng openRequestId được yêu cầu đóng.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu hiển thị hộp thoại cấu hình cho fileSystemId. Nếu được xử lý, bạn phải đặt tuỳ chọn tệp kê khai file_system_provider.configurable thành true.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu sao chép một mục (đệ quy nếu là thư mục). Nếu xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu tạo thư mục. Thao tác này sẽ không thành công và trả về lỗi EXISTS nếu thư mục đích đã tồn tại. Nếu recursive là true, thì bạn phải tạo tất cả các thư mục bị thiếu trên đường dẫn thư mục.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu tạo tệp. Nếu tệp đã tồn tại, thì errorCallback phải được gọi bằng mã lỗi "EXISTS".
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu xoá một mục. Nếu recursive là true và mục nhập là một thư mục, thì tất cả các mục nhập bên trong cũng phải được xoá theo cách đệ quy.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu thực thi một hành động cho một nhóm tệp hoặc thư mục. Sau khi hoàn tất hành động, bạn phải gọi successCallback. Khi xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu về danh sách hành động cho một nhóm tệp hoặc thư mục tại entryPaths. Tất cả hành động được trả về phải áp dụng cho từng mục nhập. Nếu không có hành động nào như vậy, thì hệ thống sẽ trả về một mảng trống. Các hành động phải được trả về bằng lệnh gọi successCallback. Trong trường hợp xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:(actions: Action[]) => void
-
hành động
-
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu siêu dữ liệu của một tệp hoặc thư mục tại entryPath. Siêu dữ liệu phải được trả về cùng với lệnh gọi successCallback. Trong trường hợp xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:(metadata: EntryMetadata) => void
-
siêu dữ liệu
-
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu hiển thị hộp thoại để gắn một hệ thống tệp mới. Nếu tiện ích/ứng dụng là trình xử lý tệp, thì bạn không nên xử lý sự kiện này. Thay vào đó, bạn nên xử lý app.runtime.onLaunched để gắn hệ thống tệp mới khi mở tệp. Đối với nhiều điểm gắn kết, bạn phải đặt tuỳ chọn tệp kê khai file_system_provider.multiple_mounts thành true.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(successCallback: function, errorCallback: function) => void
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu di chuyển một mục (đệ quy nếu là thư mục). Nếu xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu mở tệp tại filePath. Nếu tệp không tồn tại, thì thao tác này sẽ không thành công. Bạn có thể chỉ định số lượng tệp tối đa được mở cùng lúc bằng MountOptions.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:(metadata?: EntryMetadata) => void
-
siêu dữ liệu
EntryMetadata không bắt buộc
-
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu về nội dung của một thư mục tại directoryPath. Kết quả phải được trả về theo từng phần bằng cách gọi successCallback nhiều lần. Trong trường hợp xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:(entries: EntryMetadata[], hasMore: boolean) => void
-
mục nhập
-
hasMore
boolean
-
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu đọc nội dung của một tệp đã mở trước đó bằng openRequestId. Kết quả phải được trả về theo từng phần bằng cách gọi successCallback nhiều lần. Trong trường hợp xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:(data: ArrayBuffer, hasMore: boolean) => void
-
khác
ArrayBuffer
-
hasMore
boolean
-
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
Được kích hoạt khi cần xoá trình theo dõi. Nếu xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu cắt bớt tệp theo độ dài mong muốn. Nếu xảy ra lỗi, bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu ngắt kết nối hệ thống tệp có giá trị nhận dạng fileSystemId. Trong phản hồi, bạn phải gọi phương thức API unmount cùng với successCallback. Nếu không thể ngắt kết nối (ví dụ: do một thao tác đang chờ xử lý), thì bạn phải gọi errorCallback.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
Được kích hoạt khi có yêu cầu ghi nội dung vào một tệp đã mở trước đó bằng openRequestId.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallbackcó dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallbackcó dạng như sau:(error: ProviderError) => void
-
error
-
-