chrome.fileSystem

Mô tả

Sử dụng API chrome.fileSystem để tạo, đọc, điều hướng và ghi vào hệ thống tệp cục bộ của người dùng. Với API này, Ứng dụng Chrome có thể đọc và ghi vào một vị trí do người dùng chọn. Ví dụ: một ứng dụng trình chỉnh sửa văn bản có thể sử dụng API này để đọc và ghi tài liệu cục bộ. Tất cả lỗi đều được thông báo qua chrome.runtime.lastError.

Quyền

fileSystem

Phạm vi cung cấp

Chỉ nền trước

Loại

AcceptOption

Thuộc tính

  • mô tả

    chuỗi không bắt buộc

    Đây là nội dung mô tả văn bản không bắt buộc cho lựa chọn này. Nếu không có, nội dung mô tả sẽ được tạo tự động; thường chứa danh sách mở rộng các tiện ích hợp lệ (ví dụ: "text/html" có thể mở rộng thành "*.html, *.htm").

  • tiện ích

    string[] không bắt buộc

    Các đuôi tệp được chấp nhận, ví dụ: "jpg", "gif", "crx".

  • mimeTypes

    string[] không bắt buộc

    Các loại MIME được chấp nhận, ví dụ: "image/jpeg" hoặc "audio/*". Một trong các mimeTypes hoặc phần mở rộng phải chứa ít nhất một phần tử hợp lệ.

ChooseEntryOptions

Thuộc tính

  • chấp nhận

    AcceptOption[] không bắt buộc

    Danh sách không bắt buộc gồm các lựa chọn chấp nhận cho trình mở tệp này. Mỗi lựa chọn sẽ được trình bày dưới dạng một nhóm riêng biệt cho người dùng cuối.

  • acceptsAllTypes

    boolean không bắt buộc

    Có chấp nhận tất cả các loại tệp hay không, ngoài các tuỳ chọn được chỉ định trong đối số chấp nhận. Giá trị mặc định là "true". Nếu trường chấp nhận không được đặt hoặc không chứa mục hợp lệ, thì trường này sẽ luôn được đặt lại thành true.

  • acceptsMultiple

    boolean không bắt buộc

    Có chấp nhận nhiều tệp hay không. Chế độ này chỉ được hỗ trợ cho openFile và openWritableFile. Lệnh gọi lại cho chooseEntry sẽ được gọi bằng danh sách các mục nếu bạn đặt giá trị này thành true. Nếu không, hàm này sẽ được gọi bằng một Entry duy nhất.

  • suggestedName

    chuỗi không bắt buộc

    Tên tệp được đề xuất sẽ hiển thị cho người dùng dưới dạng tên mặc định để lưu. Đây là thông tin không bắt buộc và chỉ áp dụng cho "saveFile".

  • loại

    ChooseEntryType không bắt buộc

    Loại lời nhắc cần hiển thị. Giá trị mặc định là "openFile".

ChooseEntryType

Enum

"openFile"
Nhắc người dùng mở một tệp hiện có và trả về FileEntry khi thành công. Từ Chrome 31 trở đi, FileEntry sẽ có thể ghi nếu ứng dụng có quyền "ghi" trong "fileSystem"; nếu không, FileEntry sẽ ở chế độ chỉ đọc.

"openWritableFile"
Nhắc người dùng mở một tệp hiện có và trả về một FileEntry có thể ghi khi thành công. Các lệnh gọi sử dụng loại này sẽ không thành công và xảy ra lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem".

"saveFile"
Nhắc người dùng mở một tệp hiện có hoặc một tệp mới và trả về một FileEntry có thể ghi khi thành công. Các lệnh gọi sử dụng loại này sẽ không thành công và xảy ra lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem".

"openDirectory"
Nhắc người dùng mở một thư mục và trả về DirectoryEntry khi thành công. Các lệnh gọi sử dụng loại này sẽ không thành công và xảy ra lỗi thời gian chạy nếu ứng dụng không có quyền "directory" trong "fileSystem". Nếu ứng dụng có quyền "ghi" trong "fileSystem", thì DirectoryEntry được trả về sẽ có thể ghi; nếu không, DirectoryEntry sẽ ở chế độ chỉ có thể đọc. Tính năng mới trong Chrome 31.

RequestFileSystemOptions

Chrome 44 trở lên

Thuộc tính

  • volumeId

    chuỗi

    Mã nhận dạng của tập sách được yêu cầu.

  • có thể ghi

    boolean không bắt buộc

    Liệu hệ thống tệp được yêu cầu có thể ghi được hay không. Chế độ mặc định là chỉ có thể đọc.

Volume

Chrome 44 trở lên

Thuộc tính

  • volumeId

    chuỗi

  • có thể ghi

    boolean

VolumeListChangedEvent

Chrome 44 trở lên

Thuộc tính

Phương thức

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

Yêu cầu người dùng chọn một tệp hoặc thư mục.

Thông số

  • tùy chọn

    ChooseEntryOptions không bắt buộc

  • callback

    hàm

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

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • mục nhập

      Mục không bắt buộc

    • fileEntries

      FileEntry[] không bắt buộc

getDisplayPath()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

Lấy đường dẫn hiển thị của một đối tượng Entry. Đường dẫn hiển thị dựa trên đường dẫn đầy đủ của tệp hoặc thư mục trên hệ thống tệp cục bộ, nhưng có thể được điều chỉnh cho dễ đọc hơn để hiển thị.

Thông số

  • mục nhập

    Mục nhập

  • callback

    hàm không bắt buộc

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

    (displayPath: string) => void

    • displayPath

      chuỗi

Giá trị trả về

  • <string> hứa hẹn

    Chrome 117 trở lên

    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.

getVolumeList()

Promise Chrome 44 trở lên
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

Trả về danh sách các tập sách có sẵn cho requestFileSystem(). Bạn cần có quyền "fileSystem": {"requestFileSystem"} trong tệp kê khai. Chỉ dành cho các ứng dụng kiosk đang chạy trong phiên kiosk. Trong trường hợp xảy ra lỗi, volumes sẽ không được xác định và chrome.runtime.lastError sẽ được đặt.

Thông số

  • callback

    hàm không bắt buộc

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

    (volumes?: Volume[]) => void

    • tập

      Volume[] không bắt buộc

Giá trị trả về

  • Promise<Volume[] | undefined>

    Chrome 117 trở lên

    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.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)
: void

Lấy một Entry có thể ghi từ một Entry khác. Lệnh gọi này sẽ không thành công và xảy ra lỗi thời gian chạy nếu ứng dụng không có quyền "ghi" trong "fileSystem". Nếu mục nhập là DirectoryEntry, thì lệnh gọi này sẽ không thành công nếu ứng dụng không có quyền "directory" trong "fileSystem".

Thông số

  • mục nhập

    Mục nhập

  • callback

    hàm

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

    (entry: Entry) => void

    • mục nhập

      Mục nhập

isRestorable()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

Trả về việc ứng dụng có quyền khôi phục mục nhập có mã nhận dạng đã cho hay không.

Thông số

  • id

    chuỗi

  • callback

    hàm không bắt buộc

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

    (isRestorable: boolean) => void

    • isRestorable

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    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.

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

Lấy thông tin cho biết liệu Entry này có thể ghi được hay không.

Thông số

  • mục nhập

    Mục nhập

  • callback

    hàm không bắt buộc

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

    (isWritable: boolean) => void

    • isWritable

      boolean

Giá trị trả về

  • Promise<boolean>

    Chrome 117 trở lên

    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.

requestFileSystem()

Promise Chrome 44 trở lên
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

Yêu cầu quyền truy cập vào hệ thống tệp cho một ổ đĩa do options.volumeId đại diện. Nếu bạn đặt options.writable thành true, thì hệ thống tệp sẽ có thể ghi được. Nếu không, tệp sẽ ở chế độ chỉ có thể đọc. Tuỳ chọn writable yêu cầu quyền "fileSystem": {"write"} trong tệp kê khai. Chỉ dành cho các ứng dụng kiosk chạy trong phiên kiosk. Đối với chế độ kiosk khởi chạy thủ công, một hộp thoại xác nhận sẽ xuất hiện ở đầu cửa sổ ứng dụng đang hoạt động. Trong trường hợp xảy ra lỗi, fileSystem sẽ không được xác định và chrome.runtime.lastError sẽ được đặt.

Thông số

  • callback

    hàm không bắt buộc

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

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem không bắt buộc

Giá trị trả về

  • Promise<FileSystem | undefined>

    Chrome 117 trở lên

    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.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)
: void

Trả về mục nhập tệp có mã nhận dạng đã cho nếu có thể khôi phục mục nhập đó. Nếu không, lệnh gọi này sẽ không thành công và xảy ra lỗi thời gian chạy.

Thông số

  • id

    chuỗi

  • callback

    hàm

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

    (entry: Entry) => void

    • mục nhập

      Mục nhập

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

Trả về một mã nhận dạng có thể được truyền đến restoreEntry để lấy lại quyền truy cập vào một mục nhập tệp nhất định. Chỉ 500 mục được sử dụng gần đây nhất được giữ lại, trong đó các lệnh gọi đến retainEntry và restoreEntry được tính là sử dụng. Nếu ứng dụng có quyền "retainEntries" trong "fileSystem", thì các mục sẽ được giữ lại vô thời hạn. Nếu không, các mục nhập chỉ được giữ lại khi ứng dụng đang chạy và trong các lần khởi động lại.

Thông số

  • mục nhập

    Mục nhập

Giá trị trả về

  • chuỗi

Sự kiện

onVolumeListChanged

Chrome 44 trở lên
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

Được gọi khi danh sách các ổ đĩa có sẵn thay đổi.

Thông số