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
fileSystemPhạm vi cung cấp
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
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
Thuộc tính
-
volumeId
chuỗi
-
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,
): 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ố
callbackcó 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()
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ố
callbackcó dạng như sau:(displayPath: string) => void
-
displayPath
chuỗi
-
Giá trị trả về
-
<string> hứa hẹn
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,
): 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ố
Giá trị trả về
-
Promise<Volume[] | undefined>
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,
): 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ố
callbackcó dạng như sau:(entry: Entry) => void
-
mục nhập
Mục nhập
-
isRestorable()
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ố
callbackcó 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,
): 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ố
callbackcó 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,
): 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ố
-
tùy chọn
-
callback
hàm không bắt buộc
Tham số
callbackcó 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ê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,
): 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ố
callbackcó 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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
Được gọi khi danh sách các ổ đĩa có sẵn thay đổi.
Thông số
-
callback
hàm
Tham số
callbackcó dạng như sau:(event: VolumeListChangedEvent) => void
-
sự kiện
-