chrome.fileSystem

Nội dung 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 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 để đọc và ghi tài liệu cục bộ. 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à phần mô tả văn bản không bắt buộc cho lựa chọn này. Nếu không có, mô tả sẽ được tạo tự động; thường chứa danh sách mở rộng các phần mở rộng 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 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 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 tuỳ chọn chấp nhận cho trình mở tệp này (không bắt buộc). Mỗi lựa chọn sẽ được cung cấp 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 ngoài các lựa chọn được chỉ định trong đối số chấp nhận hay không. 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 nhập hợp lệ nào, thì 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ợ cho openFile và openWritableFile. Lệnh gọi lại đến chooseEntry sẽ được gọi với danh sách các mục nhập nếu giá trị này được đặt thành true. Nếu không, hệ thống sẽ 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 đề xuất sẽ hiển thị với 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 câu lệnh sẽ hiển thị. Lựa chọn mặc định là "openFile".

ChooseEntryType

Liệt kê

"openFile"
Nhắc người dùng mở một tệp hiện có và trả về một FileEntry khi thành công. Từ Chrome 31 trở đi, FileEntry sẽ có thể ghi được 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 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ó 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 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ó quyền "ghi" trong "fileSystem".

"openDirectory"
Nhắc người dùng mở một thư mục và trả về một 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ó quyền "thư mục" trong "fileSystem". Nếu ứng dụng có quyền "ghi" trong "fileSystem", thì DirectoryEntry được trả về sẽ có thể ghi được; nếu không thì thư mục này sẽ ở chế độ chỉ đọ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 phương tiện nhớ đượ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. Mặc định là chỉ đọ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,
)

Hãy 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

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

getDisplayPath()

Cam kết
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

Lấy đường dẫn hiển thị của một đố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ể dễ đọc hơn để hiển thị.

Tham số

  • mục nhập

    Vé vào cửa

  • 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ề

  • Hứa hẹn<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()

Cam kết Chrome 44 trở lên
chrome.fileSystem.getVolumeList(
  callback?: function,
)

Trả về danh sách các tập hiện có cho requestFileSystem(). Cần có quyền đối với 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ẽ 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ề

  • Hứa hẹn<Âm lượng[]|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,
)

Nhận một 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ó quyền "ghi" trong "fileSystem". Nếu mục nhập là một DirectoryEntry, lệnh gọi này sẽ không thực hiện được nếu ứng dụng không có quyền "thư mục" trong "fileSystem".

Tham số

  • mục nhập

    Vé vào cửa

  • số gọi lại

    hàm

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

    (entry: Entry)=>void

    • mục nhập

      Vé vào cửa

isRestorable()

Cam kết
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 có 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<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()

Cam kết
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

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

Tham số

  • mục nhập

    Vé vào cửa

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

Cam kết 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 cho một ổ đĩa được biểu thị bằng options.volumeId. Nếu bạn đặt options.writable thành true thì hệ thống tệp sẽ có thể ghi. Nếu không, giá trị này sẽ ở chế độ chỉ đọ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, 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ẽ 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<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,
)

Trả về mục nhập tệp có mã nhận dạng cho trước nếu có thể khôi phục được. Nếu không, lệnh gọi này sẽ không thực hiện được và có 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

      Vé vào cửa

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

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

Tham số

  • mục nhập

    Vé vào cửa

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ó được thay đổi.

Tham số