chrome.fileSystemProvider

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

fileSystemProvider

Phạm vi cung cấp

Chỉ dành cho ChromeOS

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

Chrome 45 trở lên

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 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. 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ên

    Thô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

Chrome 125 trở lên

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

Chrome 117 trở lên

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

Chrome 45 trở lên

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

Chrome 44 trở lên

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ên

    Thô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 options và 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ên

    Biể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 options và 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 onGetMetadataRequested yêu cầu rõ ràng.

ExecuteActionRequestedOptions

Chrome 45 trở lên

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ên

    Tậ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ên

    Liệ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
    Chrome 45 trở lên

    Danh 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

Chrome 45 trở lên

Thuộc tính

  • entryPaths

    string[]

    Chrome 47 trở lên

    Danh 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 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

    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 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 riêng biệ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ị

    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ên

    Liệ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ên

    Liệ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ợ 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 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 riêng biệ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

    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()

Promise
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ố callback có dạng như sau:

    (fileSystem: FileSystemInfo) => void

Giá trị trả về

  • Chrome 96 trở lên

    Lệ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()

Promise
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ố callback có dạng như sau:

    (fileSystems: FileSystemInfo[]) => void

Giá trị trả về

  • Promise<FileSystemInfo[]>

    Chrome 96 trở lên

    Lệ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()

Promise
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ố callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên

    Lệ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()

Promise Chrome 45 trở lên
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ố callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên

    Lệ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()

Promise
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ố callback có dạng như sau:

    () => void

Giá trị trả về

  • Promise<void>

    Chrome 96 trở lên

    Lệ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ố callback có dạng như sau:

    (options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void

onAddWatcherRequested

Chrome 45 trở lên
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ố callback có dạng như sau:

    (options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void

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ố callback có dạng như sau:

    (options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void

onConfigureRequested

Chrome 44 trở lên
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ố callback có dạng như sau:

    (options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void

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ố callback có dạng như sau:

    (options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void

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ố

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ố callback có dạng như sau:

    (options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void

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ố callback có dạng như sau:

    (options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void

onExecuteActionRequested

Chrome 48 trở lên
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ố

onGetActionsRequested

Chrome 48 trở lên
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ố

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ố

onMountRequested

Chrome 44 trở lên
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ố callback có dạng như sau:

    (successCallback: function, errorCallback: function) => void

    • successCallback

      hàm

      Tham số successCallback có dạng như sau:

      () => void

    • errorCallback

      hàm

      Tham số errorCallback có dạng như sau:

      (error: ProviderError) => void

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ố callback có dạng như sau:

    (options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void

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ố

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ố

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ố callback có dạng như sau:

    (options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void

    • successCallback

      hàm

      Tham số successCallback có dạng như sau:

      (data: ArrayBuffer, hasMore: boolean) => void

      • khác

        ArrayBuffer

      • hasMore

        boolean

    • errorCallback

      hàm

      Tham số errorCallback có dạng như sau:

      (error: ProviderError) => void

onRemoveWatcherRequested

Chrome 45 trở lên
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ố

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ố callback có dạng như sau:

    (options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void

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ố callback có dạng như sau:

    (options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void

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ố callback có dạng như sau:

    (options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void