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