Nội dung mô tả
Sử dụng API chrome.fileSystemProvider
để tạo các 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
fileSystemProvider
Phạm vi cung cấp
Bạn phải khai báo quyền và phần "fileSystemProvider" trong tệp kê khai tiện ích để sử dụng File System Provider API. 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 việc định cấu hình qua onConfigureRequested có được hỗ trợ hay không. Theo mặc định: false.
multiple_mounts
(boolean) – không bắt buộc- Liệu hệ thống có hỗ trợ nhiều (nhiều) hệ thống tệp được gắn kết hay không. Theo mặc định: false.
watchable
(boolean) – không bắt buộc- Liệu chế độ cài đặt trình theo dõi và thông báo về các thay đổi có được hỗ trợ 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 các hệ thống tệp được gắn kết.
Ứng dụng Files sử dụng thông tin trên để hiển thị các thành phần trên giao diện người dùng có liên quan một cách phù hợp. Ví dụ: nếu bạn đặt configurable
thành true (đúng), thì một mục trong trình đơn để định cấu hình ổ đĩa sẽ hiển thị. Tương tự, nếu bạn đặt multiple_mounts
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
, nút làm mới sẽ hiển thị. Lưu ý: Nếu có thể, bạn nên hỗ trợ trình theo dõi để những 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
File System Provider API cho phép các tiện ích hỗ trợ các 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 các 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.
Kết nối hệ thống tệp
Việc cung cấp tiện ích 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 một tệp cục bộ (chẳng hạn như tệp lưu trữ) làm đầu vào.
Để ghi các hệ thống tệp là trình xử lý tệp (nguồn là "file"
), trình cung cấp phải là một ứng dụng đóng gói vì sự kiện onLaunched
không có sẵn cho các 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 các ứ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 các hệ thống tệp được cung cấp sau khi được liên kết thông qua sự kiện onConfigureRequested. Công cụ này đặc biệt hữu ích cho các hệ thống tệp cung cấp nội dung thông qua mạng để đặt thông tin xác thực phù hợp. Bạn không bắt buộc phải xử lý sự kiện này.
Vòng đời
Các hệ thống tệp được cung cấp sau khi được kết nối sẽ được Chrome ghi nhớ và tự động kết nối lại sau khi khởi động lại hoặc khởi động lại. Do đó, sau khi hệ thống tệp được gắn kết bằng một tiện ích cung cấp, tệp đó sẽ vẫn tồn tại cho đến khi tiện ích đó bị huỷ tải hoặc tiện ích này gọi phương thức unload.
Loại
AbortRequestedOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
operationRequestId
number
Mã của yêu cầu bị huỷ.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
Action
Thuộc tính
-
id
string
Giá trị nhận dạng của thao tác. Chuỗi bất kỳ hoặc
CommonActionId
cho các thao tác phổ biến. -
title
chuỗi không bắt buộc
Tiêu đề của hành động. Thao tác này có thể bị bỏ qua đối với các thao tác phổ biến.
AddWatcherRequestedOptions
Thuộc tính
-
entryPath
string
Đường dẫn của mục nhập cần quan sát.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
đệ quy
boolean
Việc quan sát có nên bao gồm tất cả các mục nhập con theo quy tắc đệ quy hay không. Điều này chỉ có thể đúng với các thư mục.
-
requestId
number
Giá trị nhận dạng duy nhấ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
string
Đường dẫn của mục nhập đã thay đổi.
ChangeType
Loại thay đổi phát hiện được trên thư mục được ghi nhận.
Liệt kê
CloseFileRequestedOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
openRequestId
number
Mã yêu cầu được dùng để mở tệp.
-
requestId
number
Giá trị nhận dạng duy nhấ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
string
Giá trị nhận dạng của nhà cung cấp cho tệp/thư mục đã cho.
-
providerName
string
Giá trị nhận dạng cho nhà cung cấp bộ nhớ trên đám mây (ví dụ: "drive.google.com").
CommonActionId
Danh sách các thao tác phổ biến. "SHARE"
dùng để chia sẻ tệp với người khác. "SAVE_FOR_OFFLINE"
để ghim (lưu để truy cập ngoại tuyến). "OFFLINE_NOT_NECESSARY"
để thông báo rằng tệp không cần được lưu trữ để truy cập ngoại tuyến nữa. onGetActionsRequested
và onExecuteActionRequested
sử dụng.
Liệt kê
ConfigureRequestedOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp sẽ được định cấu hình.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
CopyEntryRequestedOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
-
sourcePath
string
Đường dẫn nguồn của mục nhập cần sao chép.
-
targetPath
string
Đường dẫn đích cho thao tác sao chép.
CreateDirectoryRequestedOptions
Thuộc tính
-
directoryPath
string
Đường dẫn của thư mục sẽ được tạo.
-
fileSystemId
string
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 hoạt động có mang tính đệ quy hay không (chỉ dành cho thư mục).
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
CreateFileRequestedOptions
Thuộc tính
-
filePath
string
Đường dẫn của tệp sẽ được tạo.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
DeleteEntryRequestedOptions
Thuộc tính
-
entryPath
string
Đường dẫn của mục nhập cần xoá.
-
fileSystemId
string
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 hoạt động có mang tính đệ quy hay không (chỉ dành cho thư mục).
-
requestId
number
Giá trị nhận dạng duy nhấ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 xác định một tệp cụ thể trong hệ thống tệp cơ bản trên đám mây. Bạn phải cung cấp tệp này nếu có yêu cầu trong
options
và tệp được bộ nhớ trên đám mây sao lưu. -
cloudIdentifier
CloudIdentifier không bắt buộc
Chrome 117 trở lênCloud Storage trình bày mục này. Bạn phải cung cấp tệp này nếu có yêu cầu trong
options
và tệp được bộ nhớ trên đám mây sao lưu. Đối với các tệp cục bộ không được bộ nhớ trên đám mây sao lưu, cần xác định tệp không xác định khi được yêu cầu. -
isDirectory
boolean không bắt buộc
"True" nếu đó là thư mục. Bạn phải cung cấp thông tin này 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 bạn nên 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 nhập này. Bạn phải cung cấp thông tin này 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 nhập này (không phải tên đường dẫn đầy đủ). Không được chứa '/'. Đối với gốc, giá trị này phải trống. Bạn phải cung cấp thông tin này nếu được yêu cầu trong
options
. -
size
số không bắt buộc
Kích thước tệp tính bằng byte. Bạn phải cung cấp thông tin này nếu được yêu cầu trong
options
. -
hình thu nhỏ
chuỗi không bắt buộc
Hình ả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 32 KB. Không bắt buộc, nhưng chỉ có thể cung cấp khi sự kiện
onGetMetadataRequested
yêu cầu rõ ràng.
ExecuteActionRequestedOptions
Thuộc tính
-
actionId
string
Giá trị nhận dạng của hành động sẽ được thực thi.
-
entryPaths
chuỗi[]
Chrome 47 trở lênTập hợp đường dẫn của các mục nhập sẽ được dùng cho thao tác.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
FileSystemInfo
Thuộc tính
-
displayName
string
Tên mà con người có thể đọc được cho hệ thống tệp.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp.
-
openedFiles
Danh sách các tệp hiện đang mở.
-
openedFilesLimit
number
Số lượng tệp tối đa có thể mở cùng một lúc. Nếu bằng 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 theo dõiChrome 45 trở lên
Danh sách người theo dõi.
-
có thể ghi
boolean
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
chuỗi[]
Chrome 47 trở lênDanh sách đường dẫn của mục nhập cho danh sách thao tác.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
GetMetadataRequestedOptions
Thuộc tính
-
cloudFileInfo
boolean
Chrome 125 trở lênĐặt thành
true
nếu có yêu cầu giá trịcloudFileInfo
. -
cloudIdentifier
boolean
Chrome 117 trở lênĐặt thành
true
nếu có yêu cầu giá trịcloudIdentifier
. -
entryPath
string
Đường dẫn của mục nhập để tìm nạp siêu dữ liệu.
-
fileSystemId
string
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
true
nếu có yêu cầu giá trịis_directory
. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịmimeType
. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịmodificationTime
. -
tên
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịname
. -
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
-
size
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịsize
. -
hình thu nhỏ
boolean
Đặt thành
true
nếu có yêu cầu giá trịthumbnail
.
MountOptions
Thuộc tính
-
displayName
string
Tên mà con người có thể đọc được cho hệ thống tệp.
-
fileSystemId
string
Trình thụt lề chuỗi của hệ thống tệp. Phải là duy nhất cho mỗi tiện ích.
-
openedFilesLimit
số 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 0, thì không bị giới hạn.
-
cố định
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 vào 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
tag
cho các thư mục được ghi nhận hay không. -
có thể ghi
boolean không bắt buộc
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
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
-
sourcePath
string
Đường dẫn nguồn của mục nhập cần được di chuyển đến một vị trí mới.
-
targetPath
string
Đườ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 ghi nhận. Nếu mục bị XÓA thì mục nhập đã quan sát sẽ tự động bị xoá khỏi danh sách các mục được ghi nhận.
-
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 nhập trong thư mục được ghi nhận (bao gồm cả chính mục nhập đó)
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thay đổi này.
-
observedPath
string
Đường dẫn của mục nhập đã quan sát.
-
đệ quy
boolean
Chế độ của mục nhập đã quan sát.
-
thẻ
chuỗi không bắt buộc
Gắn thẻ cho thông báo. Đây là trường bắt buộc nếu hệ thống tệp được gắn kết bằng tuỳ chọn
supportsNotifyTag
. Lưu ý rằng cờ này cần thiết để cung cấp thông báo về các thay đổi ngay cả khi hệ thống đã tắt.
OpenedFile
Thuộc tính
-
filePath
string
Đường dẫn của tệp đã mở.
-
chế độ
Liệu tệp có được mở để đọc hoặc ghi hay không.
-
openRequestId
number
Mã yêu cầu được sử dụng trong các yêu cầu đọc/ghi và đóng liên tiếp.
OpenFileMode
Chế độ mở tệp. Được onOpenFileRequested
sử dụng.
Liệt kê
OpenFileRequestedOptions
Thuộc tính
-
filePath
string
Đường dẫn của tệp sẽ được mở.
-
fileSystemId
string
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
number
Mã yêu cầu sẽ được dùng trong các yêu cầu đọc/ghi và yêu cầu đóng liên tiếp.
ProviderError
Các mã lỗi được sử dụng bằng cách cung cấp tiện ích theo 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"
.
Liệt kê
"OK"
"FAILED"
"IN_USE"
"NOT_FOUND"
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"INVALID_OPERATION"
"ABORT"
"NOT_A_FILE"
"NOT_EMPTY"
"INVALID_URL"
"IO"
ReadDirectoryRequestedOptions
Thuộc tính
-
directoryPath
string
Đường dẫn của thư mục có nội dung được yêu cầu.
-
fileSystemId
string
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
true
nếu có yêu cầu giá trịis_directory
. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịmimeType
. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịmodificationTime
. -
tên
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịname
. -
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
-
size
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịsize
. -
hình thu nhỏ
boolean
Chrome 49 trở lênĐặt thành
true
nếu có yêu cầu giá trịthumbnail
.
ReadFileRequestedOptions
Thuộc tính
-
fileSystemId
string
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
number
Số byte sẽ được trả về.
-
bù trừ
number
Vị trí trong tệp (tính bằng byte) để bắt đầu đọc.
-
openRequestId
number
Mã yêu cầu được dùng để mở tệp.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
RemoveWatcherRequestedOptions
Thuộc tính
-
entryPath
string
Đường dẫn của mục đã xem.
-
fileSystemId
string
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
number
Giá trị nhận dạng duy nhất của yêu cầu này.
TruncateRequestedOptions
Thuộc tính
-
filePath
string
Đường dẫn của tệp cần được cắt bớt.
-
fileSystemId
string
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
number
Số byte được giữ lại sau khi thao tác hoàn tất.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
UnmountOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp cần được ngắt kết nối.
UnmountRequestedOptions
Thuộc tính
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp cần được ngắt kết nối.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
Watcher
Thuộc tính
-
entryPath
string
Đường dẫn của mục nhập đang được quan sát.
-
lastTag
chuỗi không bắt buộc
Thẻ được sử dụng trong thông báo gần đây nhất dành cho trình theo dõi.
-
đệ quy
boolean
Xem có nên bao gồm định kỳ tất cả các mục con hay không. Điều này chỉ có thể đúng với các thư mục.
WriteFileRequestedOptions
Thuộc tính
-
data
ArrayBuffer
Vùng đệm gồm các byte được ghi vào tệp.
-
fileSystemId
string
Giá trị nhận dạng của hệ thống tệp liên quan đến thao tác này.
-
bù trừ
number
Vị trí trong tệp (tính bằng byte) để bắt đầu ghi các byte từ đó.
-
openRequestId
number
Mã yêu cầu được dùng để mở tệp.
-
requestId
number
Giá trị nhận dạng duy nhất của yêu cầu này.
Phương thức
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
callback?: function,
)
Trả về thông tin về một hệ thống tệp có fileSystemId
đã truyền.
Thông số
-
fileSystemId
string
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(fileSystem: FileSystemInfo) => void
-
fileSystem
-
Giá trị trả về
-
Promise<FileSystemInfo>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
)
Trả về mọi hệ thống tệp được tiện ích gắn kết.
Thông số
-
số gọi lại
hàm không bắt buộc
Tham số
callback
sẽ có dạng như sau:(fileSystems: FileSystemInfo[]) => void
-
fileSystems
-
Giá trị trả về
-
Promise<FileSystemInfo[]>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
)
Kết nối một hệ thống tệp với fileSystemId
và displayName
đã cho. displayName
sẽ được hiển thị 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 bao gồm '/', nhưng không được là một chuỗi trống. displayName
phải mang tính mô tả nhưng không cần 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 kết, bạn phải thiết lập tuỳ chọn source
một cách phù hợp.
Trong trường hợp xảy ra lỗi, runtime.lastError
sẽ được đặt cùng với một mã lỗi tương ứng.
Thông 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:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
)
Thông báo về những thay đổi trong thư mục đã theo dõi tại observedPath
ở chế độ recursive
. Nếu hệ thống tệp được gắn kết bằng supportsNotifyTag
, thì bạn phải cung cấp tag
và mọi 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ẻ cuối cùng 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à chuỗi bất kỳ mà duy nhất cho mỗi lệnh gọi, để có thể xác định thông báo đã đă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 được đăng ký gần đây nhất là "123", thì tiện ích đó sẽ gọi notify
cho mọi thay đổi đã xảy ra vì thay đổi được gắn thẻ là "123". Không được là một chuỗi 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ố 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 nhập con cũng sẽ bị xoá. Nếu chúng bị theo dõi thì API phải được thông báo về dữ kiện này. Ngoài ra, nếu một thư mục được đổi tên, thì trên thực tế tất cả các mục nhập con cháu sẽ bị xoá do không còn mục nhập nào dưới đườ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 thiết lập một mã lỗi tương ứng.
Thông 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:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
Huỷ kết nối hệ thống tệp với fileSystemId
đã cho. Mã này phải được gọi sau khi gọi onUnmountRequested
. Ngoài ra, tiện ích cung cấp có thể quyết định thực hiện thao tá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 cùng với một mã lỗi tương ứng.
Thông 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:() => void
Giá trị trả về
-
Promise<void>
Chrome 96 trở lênLời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.
Sự kiện
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
Giá trị này tăng lên khi yêu cầu huỷ một thao tác với operationRequestId
. Phải dừng ngay thao tác được thực thi với operationRequestId
và thực thi successCallback
của yêu cầu huỷ này. Nếu huỷ không thành công, thì bạn phải gọi errorCallback
. Lưu ý không được gọi các lệnh gọi lại của thao tác đã huỷ vì các lệnh gọi lại này sẽ bị bỏ qua. Mặc dù bạn đã gọi errorCallback
, nhưng yêu cầu vẫn có thể bị buộc huỷ.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
Giá trị này tăng khi thiết lập một trình theo dõi thư mục mới được yêu cầu. Nếu xảy ra lỗi thì phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
Nội dung này nổi lên khi mở một tệp đã mở trước đó bằng openRequestId
được yêu cầu đóng.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
Được nâng lên khi hiển thị hộp thoại cấu hình cho fileSystemId
được yêu cầu. Nếu trạng thái được xử lý, tuỳ chọn manfiest file_system_provider.configurable
phải được đặt thành true.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
Được tăng lên khi sao chép một mục nhập (đệ quy nếu là thư mục). Nếu xảy ra lỗi thì phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
Giá trị lớn hơn khi tạo thư mục được yêu cầu. Thao tác phải không thực hiện được với lỗi EXISTS nếu thư mục đích đã tồn tại. Nếu recursive
là đúng, thì bạn phải tạo tất cả thư mục bị thiếu trên đường dẫn thư mục.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
Mục này được yêu cầu đưa lên khi tạo tệp. Nếu tệp này đã tồn tại, thì errorCallback
phải được gọi bằng mã lỗi "EXISTS"
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
Nội dung được tăng lên khi xoá một mục được yêu cầu. Nếu recursive
là true và mục nhập là một thư mục, thì tất cả các mục bên trong cũng phải được xoá đệ quy.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
Được yêu cầu tăng lên khi thực thi một thao tác 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 gặp lỗi, phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
Giá trị này được tăng lên khi yêu cầu danh sách hành động cho một nhóm tệp hoặc thư mục tại entryPaths
. Bạn phải áp dụng tất cả các thao tác được trả về cho từng mục nhập. Nếu không có hành động nào như vậy thì 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, phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:(actions: Action[]) => void
-
thao tác
Thao tác[]
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
Giá trị này tăng lên khi 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ề bằng lệnh gọi successCallback
. Trong trường hợp xảy ra lỗi, phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:(metadata: EntryMetadata) => void
-
siêu dữ liệu
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
Yêu cầu nằm trong hộp thoại hiển thị hộp thoại để gắn 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 tệp được mở. Đối với nhiều giá trị gắn kết, tuỳ chọn tệp kê khai file_system_provider.multiple_mounts
phải được đặt thành true.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(successCallback: function, errorCallback: function) => void
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
Được tăng lên khi di chuyển một mục nhập (đệ quy nếu là một thư mục) được yêu cầu. Nếu xảy ra lỗi thì phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
Giá trị này tăng lên khi mở tệp tại filePath
. Nếu tệp không tồn tại, thì thao tác phải không thành công. Bạn có thể chỉ định số lượng tệp tối đa được mở cùng một lúc bằng MountOptions
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:(metadata?: EntryMetadata) => void
-
siêu dữ liệu
EntryMetadata không bắt buộc
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
Tăng khi nội dung của một thư mục tại directoryPath
được yêu cầu. Bạn phải trả về kết quả 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, phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:(entries: EntryMetadata[], hasMore: boolean) => void
-
mục nhập
-
hasMore
boolean
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
Nội dung này được tăng lên khi yêu cầu đọc nội dung của một tệp đã mở trước đó bằng openRequestId
. Bạn phải trả về kết quả 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, phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:(data: ArrayBuffer, hasMore: boolean) => void
-
data
ArrayBuffer
-
hasMore
boolean
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
Giá trị này được đưa lên khi cần xoá trình theo dõi. Nếu xảy ra lỗi thì phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
Yêu cầu mục này tăng lên khi cắt bớt tệp đến độ dài mong muốn. Nếu xảy ra lỗi thì phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
Giá trị này được yêu cầu khi ngắt kết nối hệ thống tệp có giá trị nhận dạng fileSystemId
. Trong phản hồi, phương thức API unmount
phải được gọi cùng với successCallback
. Nếu không thể ngắt kết nối (ví dụ: do có thao tác đang chờ xử lý) thì bạn phải gọi errorCallback
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
Được yêu cầu hiển thị khi ghi nội dung vào một tệp đã mở trước đó bằng openRequestId
.
Thông số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
-
tùy chọn
-
successCallback
hàm
Tham số
successCallback
sẽ có dạng như sau:() => void
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-