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
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
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
Thuộc tính
-
volumeId
string
-
có thể ghi
boolean
VolumeListChangedEvent
Thuộc tính
-
tập
Âm lượng[]
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()
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ênLờ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()
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ố
Giá trị trả về
-
Promise<Volume[] | không xác định>
Chrome 117 trở lênLờ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()
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<boolean>
Chrome 117 trở lênLờ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()
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<boolean>
Chrome 117 trở lênLờ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()
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ố
-
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:(fileSystem?: FileSystem) => void
-
fileSystem
Hệ thống tệp không bắt buộc
-
Giá trị trả về
-
Promise<FileSystem | không xác định>
Chrome 117 trở lênLờ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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Được gọi khi danh sách các ổ đĩa hiện có thay đổi.
Tham số
-
số gọi lại
hàm
Tham số
callback
sẽ có dạng như sau:(event: VolumeListChangedEvent) => void
-
event
-