Mô tả
Dùng API chrome.fileSystemProvider
để tạo các hệ thống tệp. Bạn có thể truy cập các hệ thống này qua 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 "fileSystemProvider" quyền và phần này 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 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 nhiều (nhiều) hệ thống tệp được gắn có được hỗ trợ hay không. Theo mặc định: false.
watchable
(boolean) – không bắt buộc- Liệu hệ thống có hỗ trợ việc đặt 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 "tệp", "device" hoặc "network") – bắt buộc- Nguồn dữ liệu cho hệ thống tệp được gắn kết.
Ứng dụng Files sử dụng thông tin trên để kết xuất các thành phần trên giao diện người dùng liên quan một cách thích 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 trên giao diện người dùng. Nếu watchable
là false
thì nút làm mới sẽ xuất hiện. Lưu ý: 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
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 bản lưu trữ và truy cập vào tệp bằng một dịch vụ đám mây không phải Drive.
Liên kết 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ừ 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 đầu vào.
Để ghi các hệ thống tệp là trình xử lý tệp (nguồn là "file"
), ứng dụng 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 kết nối 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 gắn kết thông qua sự kiện onConfigureRequested. Điều này đặc biệt hữu ích cho các hệ thống tệp cung cấp nội dung qua mạng để thiết lập thông tin đăng nhập 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 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 một hệ thống tệp được một tiện ích cung cấp gắn kết, thì tiện ích này sẽ vẫn ở trạng thái này cho đến khi bị huỷ tải hoặc tiện ích này gọi phương thức huỷ kết nối.
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
số
Mã nhận dạng của yêu cầu bị huỷ.
-
requestId
số
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 hành động. Chuỗi bất kỳ hoặc
CommonActionId
cho 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. Thuộc tính này có thể bị bỏ qua đối với các thao tác thông thường.
AddWatcherRequestedOptions
Thuộc tính
-
entryPath
string
Đường dẫn của mục 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
Liệu quá trình quan sát có nên đưa đệ quy tất cả các mục con hay không. Giá trị này chỉ có thể đúng với các thư mục.
-
requestId
số
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 một hệ thống tệp trên đám mây hỗ trợ.
-
entryPath
string
Đường dẫn của mục đã thay đổi.
ChangeType
Loại thay đổi phát hiện được trên thư mục quan sát được.
Enum
"ĐÃ THAY ĐỔI"
"ĐÃ XÓA"
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
số
Mã yêu cầu dùng để mở tệp.
-
requestId
số
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
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 của 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 để xem khi không có mạng). "OFFLINE_NOT_NECESSARY"
để thông báo rằng không cần lưu trữ tệp này để truy cập khi không có mạng nữa. onGetActionsRequested
và onExecuteActionRequested
đang sử dụng.
Enum
"SAVE_FOR_DOMAIN"
"OFFLINE_NOT_NECESSARY"
"CHIA SẺ"
ConfigureRequestedOptions
Thuộc tính
-
fileSystemId
string
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 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
số
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 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 cần 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 thao tác có phải là đệ quy hay không (chỉ dành cho thư mục).
-
requestId
số
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
số
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 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 thao tác có phải là đệ quy hay không (chỉ dành cho thư mục).
-
requestId
số
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 trên đám mây cơ bản. Bạn phải cung cấp thông tin 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ênBản trình bày bộ nhớ trên đám mây của mục này. Bạn phải cung cấp thông tin 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, bạn không nên xác định 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 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 thông tin này 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 này (không phải tên đường dẫn đầy đủ). Không được chứa '/'. Đối với thư mục gốc, trường 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, kích thước tối đa 32 KB. Không bắt buộc, nhưng bạn chỉ có thể cung cấp khi được 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 được sử 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
số
Giá trị nhận dạng duy nhất của yêu cầu này.
FileSystemInfo
Thuộc tính
-
Tên hiển thị
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
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 theo dõiChrome 45 trở lên
Danh sách người theo dõi.
-
có thể ghi
boolean
Liệu hệ thống tệp có hỗ trợ những 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 các 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
số
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 giá trịcloudFileInfo
được yêu cầu. -
cloudIdentifier
boolean
Chrome 117 trở lênĐặt thành
true
nếu giá trịcloudIdentifier
được yêu cầu. -
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 giá trịis_directory
được yêu cầu. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịmimeType
được yêu cầu. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịmodificationTime
được yêu cầu. -
tên
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịname
được yêu cầu. -
requestId
số
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 giá trịsize
được yêu cầu. -
hình thu nhỏ
boolean
Đặt thành
true
nếu giá trịthumbnail
được yêu cầu.
MountOptions
Thuộc tính
-
Tên hiển thị
string
Tên mà con người có thể đọc được cho hệ thống tệp.
-
fileSystemId
string
Phương thức 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 bằng 0 thì không bị giới hạn.
-
liên tục
boolean không bắt buộc
Chrome 64 trở lênLiệu khung có 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 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ợ những 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
số
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 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 đối với mục nhập được ghi nhận. Nếu bị XÓA, thì mục nhập đã quan sát được 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 thay đổi đối với các mục nhập trong thư mục quan sát được (bao gồm cả 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 được.
-
đệ quy
boolean
Chế độ của mục nhập quan sát được.
-
thẻ
chuỗi không bắt buộc
Gắn thẻ cho thông báo. 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 là cần thiết để đưa ra 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
string
Đường dẫn của tệp đã mở.
-
chế độ
Liệu tệp có được mở để đọc hoặc ghi không.
-
openRequestId
số
Mã yêu cầu được 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.
Enum
"ĐỌC"
"GHI"
OpenFileRequestedOptions
Thuộc tính
-
filePath
string
Đường dẫn của tệp mà bạn muốn 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
số
Mã yêu cầu được sử dụng trong các yêu cầu đọc/ghi và đóng liên tiếp.
ProviderError
Mã lỗi được sử dụng bằng cách cung cấp tiện ích để phản hồi các yêu cầu cũng như trong trường hợp 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"
"CÓS"
"NOT_FOUND"
"ACCESS_DENIED"
"TOO_MANY_OPENED"
"NO_MEMORY"
"NO_SPACE"
"NOT_A_DIRECTORY"
"INVALID_ACTIVITY"
"BẢO MẬT"
"ABORT"
"NOT_A_FILE"
"NOT_EMPTY"
"INVALID_URL"
"IO"
ReadDirectoryRequestedOptions
Thuộc tính
-
directoryPath
string
Đường dẫn của thư mục chứa 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 giá trịis_directory
được yêu cầu. -
mimeType
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịmimeType
được yêu cầu. -
modificationTime
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịmodificationTime
được yêu cầu. -
tên
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịname
được yêu cầu. -
requestId
số
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 giá trịsize
được yêu cầu. -
hình thu nhỏ
boolean
Chrome 49 trở lênĐặt thành
true
nếu giá trịthumbnail
được yêu cầu.
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
số
Số byte cần trả về.
-
bù trừ
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 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 người theo dõi.
-
requestId
số
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ắ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
số
Số byte được lưu giữ sau khi thao tác hoàn tất.
-
requestId
số
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 bị 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 bị ngắt kết nối.
-
requestId
số
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 cho trình theo dõi.
-
đệ quy
boolean
Việc xem có nên đưa đệ quy tất cả các mục con hay không. Giá trị này chỉ có thể đúng với các thư mục.
WriteFileRequestedOptions
Thuộc tính
-
dữ liệu
ArrayBuffer
Vùng đệm byte sẽ đượ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ừ
số
Vị trí trong tệp (tính bằng byte) để bắt đầu ghi các byte từ đó.
-
openRequestId
số
Mã yêu cầu dùng để mở tệp.
-
requestId
số
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
được truyền.
Tham 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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
)
Trả về tất cả hệ thống tệp được gắn bằng tiện ích.
Tham 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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
)
Gắn một hệ thống tệp với fileSystemId
và displayName
nhất định. 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 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 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 liên kết, bạn phải đặt tuỳ chọn source
một cách thích hợp.
Trong trường hợp xảy ra lỗi, runtime.lastError
sẽ được thiết lập kèm theo mã lỗi tương ứng.
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:() => void
Giá trị trả về
-
Lời hứa<vô hiệu>
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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng 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
, bạn phải cung cấp tag
và tất cả thay đổi kể từ thông báo gần đây nhất sẽ 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, tuỳ chọn tệp kê khai file_system_provider.notify
phải được đặt 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, vì vậy 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 phải 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". Giá trị này 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à ví dụ: số thay đổi hoặc số sửa đổi.
Xin lưu ý rằng nếu thư mục mẹ bị xoá thì tất cả các mục nhập con cũng bị xoá. Nếu chúng được theo dõi, thì API phải được thông báo về sự 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 nhập con trên thực tế sẽ bị xoá, vì không còn mục nhập 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 và là một mã lỗi tương ứng.
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:() => void
Giá trị trả về
-
Lời hứa<vô hiệu>
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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
)
Ngắt kết nối một hệ thống tệp bằng fileSystemId
đã cho. Phương thức 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 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 thiết lập kèm theo mã lỗi tương ứng.
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:() => void
Giá trị trả về
-
Lời hứa<vô hiệu>
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 cho 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. Chiến lược phát hành đĩa đơn Promise phân giải cùng loại được truyền đến lệnh gọi lại.
Sự kiện
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
Được nâng lên khi yêu cầu huỷ một thao tác với operationRequestId
. Hoạt động được thực thi bằng operationRequestId
phải bị dừng ngay lập tức và successCallback
trong yêu cầu huỷ này được thực thi. Nếu không huỷ được, 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 đã bị huỷ vì các lệnh gọi lại này sẽ bị bỏ qua. Mặc dù đang gọi errorCallback
, nhưng yêu cầu vẫn có thể bị buộc huỷ.
Tham 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,
)
Được nâng lên khi yêu cầu thiết lập một trình theo dõi thư mục mới. Nếu xảy ra lỗi, thì bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi mở tệp đã mở trước đó bằng openRequestId
được yêu cầu đóng.
Tham 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 giá trị được xử lý thì tuỳ chọn file_system_provider.configurable
manfiest phải được đặt thành true.
Tham 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,
)
Tăng lên khi sao chép mục nhập (đệ quy nếu thư mục) được yêu cầu. Nếu xảy ra lỗi, thì bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi tạo thư mục được yêu cầu. Thao tác phải không thành công cùng với 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.
Tham 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,
)
Được nâng lên khi tạo tệp được yêu cầu. Nếu tệp đã tồn tại thì errorCallback
phải được gọi với mã lỗi "EXISTS"
.
Tham 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,
)
Được nâng lên khi có yêu cầu xoá mục nhập. Nếu recursive
là đúng 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á đệ quy.
Tham 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 nâng lên khi thực thi một thao tác cho một tập hợp tệp hoặc thư mục được yêu cầu. Sau khi hoàn tất hành động, successCallback
phải được gọi. Khi gặp lỗi, bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi yêu cầu danh sách các thao tác cho một tập hợp tệp hoặc thư mục tại entryPaths
. Tất cả thao tác trả về phải được áp dụng cho từng mục nhập. Nếu không có hoạt động nào như vậy, hàm sẽ trả về một mảng trống. Các thao tác 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
.
Tham 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
-
hành động
-
-
errorCallback
hàm
Tham số
errorCallback
sẽ có dạng như sau:(error: ProviderError) => void
-
error
-
-
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
Được 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ề 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
.
Tham 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,
)
Được nâng lên khi 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à một 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 phải xử lý app.runtime.onLaunched
để gắn hệ thống tệp mới khi tệp được mở. Đối với nhiều điểm gắn, bạn phải đặt tuỳ chọn tệp kê khai file_system_provider.multiple_mounts
thành true.
Tham 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 nâng lên khi di chuyển một mục nhập (đệ quy nếu một thư mục) được yêu cầu. Nếu xảy ra lỗi, thì bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi yêu cầu 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
.
Tham 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,
)
Được nâng lên khi có yêu cầu đối với 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
.
Tham 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
-
bài viết
-
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,
)
Tăng lên khi đọc nội dung của 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
.
Tham 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
-
dữ liệu
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,
)
Được nâng lên khi bạn muốn xoá trình theo dõi. Nếu xảy ra lỗi, thì bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi yêu cầu cắt bớt tệp theo độ dài mong muốn. Nếu xảy ra lỗi, thì bạn phải gọi errorCallback
.
Tham 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,
)
Được nâng lên khi yêu cầu ngắt kết nối cho 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 một thao tác đang chờ xử lý), thì bạn phải gọi errorCallback
.
Tham 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 nâng lên khi ghi nội dung vào một tệp đã mở trước đó bằng openRequestId
.
Tham 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
-
-