chrome.fileSystem

Mô tả

Sử dụng API chrome.fileSystem để tạo, đọc, di chuyển 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 vị trí do người dùng chọn. Ví dụ: ứng dụng chỉnh sửa văn bản có thể sử dụng API này để đọc và ghi tài liệu trên máy. Tất cả lỗi sẽ đượ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

  • description

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

    Đây là nội dung mô tả dạng văn bản không bắt buộc cho lựa chọn này. Nếu không có, hệ thống sẽ tự động tạo nội dung mô tả; thường chứa danh sách mở rộng gồm 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 tiện ích cần chấp nhận, ví dụ: "jpg", "gif", "crx".

  • mimeTypes

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

    Các loại Mime cần chấp nhận, ví dụ: "image/jpeg" hoặc "audio/*". Một trong các mimeTypes hoặc tiện ích 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 tuỳ chọn gồm các tuỳ chọn chấp nhận cho trình mở tệp này. Mỗi tuỳ chọn sẽ được hiển thị 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

    Liệu 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 chưa được đặt hoặc không chứa mục nhập hợp lệ nào, giá trị này sẽ luôn được đặt lại thành true.

  • acceptsMultiple

    boolean không bắt buộc

    Liệu có chấp nhận nhiều tệp hay không. Tính năng này chỉ được hỗ trợ đối với openFile và openWritableFile. Lệnh gọi lại để chooseEntry sẽ được gọi cùng với danh sách các mục nhập nếu bạn đặt giá trị này thành true. Nếu không, mục này sẽ được gọi bằng một Mục nhập 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 để đọc hoặc ghi. Việc này là không bắt buộc.

  • loại

    ChooseEntryType không bắt buộc

    Loại lời nhắc để 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 thành công. Từ Chrome 31 trở đi, FileEntry sẽ có thể ghi nếu ứng dụng có tuỳ chọn "ghi" quyền trong "fileSystem"; nếu không, FileEntry sẽ ở chế độ chỉ có thể đọ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 dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có tính năng "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 dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có tính năng "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 dùng loại này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có "thư mục" trong 'fileSystem'. Nếu ứng dụng có nút "ghi" trong 'fileSystem', DirectoryEntry được trả về sẽ có thể ghi; nếu không chế độ này sẽ chuyển sang 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

    string

    Mã của ổ đượ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. Tuỳ chọn mặc định là chỉ có thể đọc.

Volume

Chrome 44 trở lên

Thuộc tính

  • volumeId

    string

  • 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,
)

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

Tham số

  • tùy chọn

    ChooseEntryOptions không bắt buộc

  • số gọi lại

    hàm

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

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

    • mục nhập

      Mục nhập không bắt buộc

    • fileEntries

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

getDisplayPath()

Lời hứa
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

Lấy đường dẫn hiển thị của đối tượng Mục nhập. Đườ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ể trở nên dễ đọc hơn nhằm mục đích hiển thị.

Tham số

  • mục nhập

    Mục nhập

  • số gọi lại

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

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

    (displayPath: string) => void

    • displayPath

      string

Giá trị trả về

  • Cam kết<string>

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

Lời hứa Chrome 44 trở lên
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

Tham số

  • số gọi lại

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

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

    (volumes?: Volume[]) => void

Giá trị trả về

  • Promise&lt;Volume[] | không xác định>

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

Lấy Mục nhập có thể ghi từ một Mục nhập khác. Lệnh gọi này sẽ không thực hiện được kèm theo lỗi thời gian chạy nếu ứng dụng không có nút "ghi" trong 'fileSystem'. Nếu mục nhập là một DirectoryEntry, thì lệnh gọi này sẽ không thành công nếu ứng dụng không có "thư mục" trong 'fileSystem'.

Tham số

  • mục nhập

    Mục nhập

  • số gọi lại

    hàm

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

    (entry: Entry) => void

    • mục nhập

      Mục nhập

isRestorable()

Lời hứa
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

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

Tham số

  • id

    string

  • số gọi lại

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

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

    (isRestorable: boolean) => void

    • isRestorable

      boolean

Giá trị trả về

  • Promise&lt;boolean&gt;

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

Lời hứa
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

Xem Mục nhập này có thể ghi hay không.

Tham số

  • mục nhập

    Mục nhập

  • số gọi lại

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

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

    (isWritable: boolean) => void

    • isWritable

      boolean

Giá trị trả về

  • Promise&lt;boolean&gt;

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

Lời hứa Chrome 44 trở lên
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

Yêu cầu quyền truy cập vào hệ thống tệp đối với một ổ đĩa được biểu thị bằng options.volumeId. Nếu bạn đặt options.writable thành true (đúng), thì hệ thống tệp sẽ có thể ghi được. Nếu không, dữ liệu này sẽ chuyển sang 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ẽ hiển thị ở đầu cửa sổ ứng dụng đang hoạt động. Trong trường hợp xảy ra lỗi, fileSystem sẽ là không xác định và chrome.runtime.lastError sẽ được đặt.

Tham số

  • số gọi lại

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

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

    (fileSystem?: FileSystem) => void

    • fileSystem

      Hệ thống tệp không bắt buộc

Giá trị trả về

  • Promise&lt;FileSystem | không xác định>

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

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

Tham số

  • id

    string

  • số gọi lại

    hàm

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

    (entry: Entry) => void

    • mục nhập

      Mục nhập

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

Trả về mã nhận dạng có thể được truyền để recoveryEntry nhằm lấy lại quyền truy cập vào một mục nhập tệp nhất định. Chỉ có 500 mục nhập được sử dụng gần đây nhất được giữ lại, trong đó các lệnh gọi giữ lại Entry và khôi phục được tính là đã sử dụng. Nếu ứng dụng có thuộc tính "retainEntries" trong 'fileSystem', các mục nhập được lưu giữ 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à sau khi khởi động lại.

Tham số

  • mục nhập

    Mục nhập

Giá trị trả về

  • string

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 hiện có thay đổi.

Tham số