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