คำอธิบาย
ใช้ chrome.fileSystem
API เพื่อสร้าง อ่าน ไปยังส่วนต่างๆ และเขียนลงในระบบไฟล์ในเครื่องของผู้ใช้ เมื่อใช้ API นี้ แอป Chrome จะอ่านและเขียนไปยังตำแหน่งที่ผู้ใช้เลือกได้ เช่น แอปเครื่องมือแก้ไขข้อความสามารถใช้ API เพื่ออ่านและเขียนเอกสารในเครื่องได้ ข้อผิดพลาดทั้งหมดจะได้รับการแจ้งผ่าน chrome.runtime.lastError
สิทธิ์
fileSystem
ความพร้อมใช้งาน
ประเภท
AcceptOption
พร็อพเพอร์ตี้
-
คำอธิบาย
string ไม่บังคับ
นี่คือคำอธิบายข้อความที่ไม่บังคับสำหรับตัวเลือกนี้ หากไม่มี ระบบจะสร้างคำอธิบายให้โดยอัตโนมัติ ซึ่งปกติแล้วจะมีรายการส่วนขยายที่ถูกต้องที่ขยายอยู่ (เช่น "text/html" อาจขยายเป็น "*.html, *.htm")
-
ส่วนขยาย
string[] ไม่บังคับ
ส่วนขยายที่ต้องยอมรับ เช่น "jpg", "gif", "crx"
-
mimeTypes
string[] ไม่บังคับ
ประเภท Mime ที่จะยอมรับ เช่น "image/jpeg" หรือ "audio/*" mimeTypes หรือส่วนขยายอย่างน้อย 1 รายการต้องมีองค์ประกอบที่ถูกต้องอย่างน้อย 1 รายการ
ChooseEntryOptions
พร็อพเพอร์ตี้
-
ยอมรับ
AcceptOption[] ไม่บังคับ
รายการตัวเลือกการยอมรับในโปรแกรมเปิดไฟล์นี้ แต่ละตัวเลือกจะแสดงเป็นกลุ่มที่ไม่ซ้ำกันต่อผู้ใช้ปลายทาง
-
acceptsAllTypes
บูลีน ไม่บังคับ
ยอมรับไฟล์ทุกประเภทหรือไม่ นอกเหนือจากตัวเลือกที่ระบุในอาร์กิวเมนต์ยอมรับ ค่าเริ่มต้นคือ True หากไม่ได้ตั้งค่าช่องยอมรับหรือไม่มีรายการที่ถูกต้อง ระบบจะรีเซ็ตค่านี้เป็น "จริง" เสมอ
-
acceptsMultiple
บูลีน ไม่บังคับ
ยอมรับไฟล์หลายไฟล์หรือไม่ การตั้งค่านี้รองรับเฉพาะ openFile และ openWritableFile เท่านั้น ระบบจะเรียกใช้ callback to chooseEntry พร้อมกับรายการหากตั้งค่าเป็น "จริง" มิฉะนั้นจะมีการเรียกใช้ด้วยรายการเดียว
-
suggestedName
string ไม่บังคับ
ชื่อไฟล์ที่แนะนำซึ่งจะแสดงต่อผู้ใช้เป็นชื่อเริ่มต้นสําหรับอ่านหรือเขียน ขั้นตอนนี้ไม่บังคับ
-
ประเภท
ChooseEntryType ไม่บังคับ
ประเภทของพรอมต์ที่จะแสดง ค่าเริ่มต้นคือ "openFile"
ChooseEntryType
ค่าแจกแจง
"openFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่และแสดงผล FileEntry เมื่อเสร็จสมบูรณ์ ตั้งแต่ Chrome 31 เป็นต้นไป FileEntry จะเขียนได้ถ้าแอปพลิเคชันมีสิทธิ์ "เขียน" ในส่วน "fileSystem" ไม่เช่นนั้น FileEntry จะเป็นแบบอ่านอย่างเดียว
"openWritableFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่และแสดงผล FileEntry ที่เขียนได้สําเร็จ การโทรที่ใช้ประเภทนี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มีสิทธิ์ "เขียน" ในส่วน "fileSystem"
"saveFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่หรือไฟล์ใหม่ และแสดงผล FileEntry ที่เขียนได้สําเร็จ การโทรที่ใช้ประเภทนี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มีสิทธิ์ "เขียน" ในส่วน "fileSystem"
"openDirectory"
แจ้งให้ผู้ใช้เปิดไดเรกทอรีและแสดงผล DirectoryEntry เมื่อสำเร็จ การโทรที่ใช้ประเภทนี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มีสิทธิ์ "directory" ในส่วน "fileSystem" หากแอปพลิเคชันมีสิทธิ์ "เขียน" ภายใต้ "fileSystem" ระบบจะเขียน DirectoryEntry ที่ส่งคืนได้ มิเช่นนั้นจะเป็นแบบอ่านอย่างเดียว ฟีเจอร์ใหม่ใน Chrome 31
RequestFileSystemOptions
พร็อพเพอร์ตี้
-
volumeId
string
รหัสของวอลุ่มที่ขอ
-
เขียนได้
บูลีน ไม่บังคับ
ระบบไฟล์ที่ขอควรเขียนได้หรือไม่ ค่าเริ่มต้นคืออ่านอย่างเดียว
Volume
พร็อพเพอร์ตี้
-
volumeId
string
-
เขียนได้
boolean
VolumeListChangedEvent
พร็อพเพอร์ตี้
-
ชุด
วิธีการ
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
)
ขอให้ผู้ใช้เลือกไฟล์หรือไดเรกทอรี
พารามิเตอร์
-
ตัวเลือก
ChooseEntryOptions ไม่บังคับ
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(entry?: Entry, fileEntries?: FileEntry[]) => void
-
รายการ
รายการ ไม่บังคับ
-
fileEntries
FileEntry[] ไม่บังคับ
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
)
รับเส้นทางที่แสดงของออบเจ็กต์ Entry เส้นทางที่แสดงจะอิงตามเส้นทางแบบเต็มของไฟล์หรือไดเรกทอรีในระบบไฟล์ในเครื่อง แต่อาจปรับให้อ่านง่ายขึ้นเพื่อวัตถุประสงค์ในการแสดงผล
พารามิเตอร์
-
รายการ
ตั๋วเข้าชม
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(displayPath: string) => void
-
displayPath
string
-
การคืนสินค้า
-
คำสัญญา<string>
Chrome 117 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
)
แสดงรายการวอลุ่มที่ใช้ได้สำหรับ requestFileSystem()
ต้องมีสิทธิ์ไฟล์ Manifest "fileSystem": {"requestFileSystem"}
ใช้ได้กับแอปคีออสก์ที่ทำงานในเซสชันของคีออสก์เท่านั้น ในกรณีที่เกิดข้อผิดพลาด จะไม่มีการกำหนดค่า volumes
และตั้งค่า chrome.runtime.lastError
พารามิเตอร์
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(volumes?: Volume[]) => void
-
ชุด
ระดับเสียง[] ไม่บังคับ
-
การคืนสินค้า
-
สัญญา<Volume[] | undefined>
Chrome 117 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
)
รับรายการที่เขียนได้จากรายการอื่น การเรียกใช้นี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มีสิทธิ์ "เขียน" ในส่วน "fileSystem" หากรายการเป็น DirectoryEntry การเรียกนี้จะล้มเหลวหากแอปพลิเคชันไม่มีสิทธิ์ "directory" ภายใต้ "fileSystem"
พารามิเตอร์
-
รายการ
ตั๋วเข้าชม
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(entry: Entry) => void
-
รายการ
ตั๋วเข้าชม
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
)
ส่งคืนว่าแอปมีสิทธิ์กู้คืนรายการที่มีรหัสดังกล่าวหรือไม่
พารามิเตอร์
-
id
string
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(isRestorable: boolean) => void
-
isRestorable
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 117 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
)
รับข้อมูลว่ารายการนี้เขียนได้หรือไม่
พารามิเตอร์
-
รายการ
ตั๋วเข้าชม
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(isWritable: boolean) => void
-
isWritable
boolean
-
การคืนสินค้า
-
Promise<boolean>
Chrome 117 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
)
ขอสิทธิ์เข้าถึงระบบไฟล์สำหรับวอลุ่มที่ options.volumeId
แสดง หากตั้งค่า options.writable
เป็น "จริง" ระบบจะเขียนระบบไฟล์ได้ มิฉะนั้น ไฟล์ดังกล่าวจะเป็นแบบอ่านอย่างเดียว ตัวเลือก writable
ต้องใช้สิทธิ์ "fileSystem": {"write"}
ในไฟล์ Manifest ใช้ได้กับแอปคีออสก์ที่ทำงานในเซสชันคีออสก์เท่านั้น สำหรับโหมดคีออสก์ที่เปิดใช้งานด้วยตนเอง กล่องโต้ตอบการยืนยันจะปรากฏที่ด้านบนของหน้าต่างแอปที่ใช้งานอยู่ ในกรณีที่เกิดข้อผิดพลาด จะไม่มีการกำหนดค่า fileSystem
และตั้งค่า chrome.runtime.lastError
พารามิเตอร์
-
ตัวเลือก
-
Callback
ฟังก์ชัน ไม่บังคับ
พารามิเตอร์
callback
มีลักษณะดังนี้(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem ไม่บังคับ
-
การคืนสินค้า
-
Promise<FileSystem | undefined>
Chrome 117 ขึ้นไปPromiss รองรับเฉพาะไฟล์ Manifest V3 ขึ้นไป ส่วนแพลตฟอร์มอื่นๆ จะต้องใช้โค้ดเรียกกลับ
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
)
แสดงรายการไฟล์ที่มีรหัสที่ระบุ หากกู้คืนได้ การเรียกใช้นี้จะดำเนินการไม่สำเร็จและมีข้อผิดพลาดรันไทม์
พารามิเตอร์
-
id
string
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(entry: Entry) => void
-
รายการ
ตั๋วเข้าชม
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
)
แสดงผลรหัสที่สามารถส่งผ่านไปยังrecoveryEntry เพื่อคืนสิทธิ์เข้าถึงรายการไฟล์ที่ระบุ ระบบจะเก็บรักษารายการที่ใช้ล่าสุดไว้เพียง 500 รายการเท่านั้น โดยจะนับการเรียกใช้การคงไว้ชั่วคราวและrecoveryEntry เป็นการใช้งาน หากแอปมีสิทธิ์ "retainEntries" ในส่วน "fileSystem" ระบบจะเก็บรักษารายการไว้โดยไม่มีกำหนด มิฉะนั้น รายการจะเก็บไว้ขณะที่แอปทำงานอยู่และการรีสตาร์ทหลายครั้งเท่านั้น
พารามิเตอร์
-
รายการ
ตั๋วเข้าชม
การคืนสินค้า
-
string
เหตุการณ์
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
เรียกใช้เมื่อมีการเปลี่ยนแปลงรายการวอลุ่มที่ใช้ได้
พารามิเตอร์
-
Callback
ฟังก์ชัน
พารามิเตอร์
callback
มีลักษณะดังนี้(event: VolumeListChangedEvent) => void
-
event
-