chrome.fileSystem

คำอธิบาย

ใช้ 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

Chrome 44 ขึ้นไป

พร็อพเพอร์ตี้

  • volumeId

    สตริง

    รหัสของวอลุ่มที่ขอ

  • เขียนได้

    บูลีน ไม่บังคับ

    ควรกำหนดให้ระบบไฟล์ที่ขอเขียนได้หรือไม่ โดยค่าเริ่มต้นจะเป็นแบบอ่านอย่างเดียว

Volume

Chrome 44 ขึ้นไป

พร็อพเพอร์ตี้

  • volumeId

    สตริง

  • เขียนได้

    บูลีน

VolumeListChangedEvent

Chrome 44 ขึ้นไป

พร็อพเพอร์ตี้

เมธอด

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

ขอให้ผู้ใช้เลือกไฟล์หรือไดเรกทอรี

พารามิเตอร์

  • ตัวเลือก

    ChooseEntryOptions ไม่บังคับ

  • callback

    ฟังก์ชัน

    พารามิเตอร์ callback มีลักษณะดังนี้

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • รายการ

      รายการ ไม่บังคับ

    • fileEntries

      FileEntry[] ไม่บังคับ

getDisplayPath()

Promise
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

รับเส้นทางการแสดงผลของออบเจ็กต์รายการ เส้นทางการแสดงผลจะอิงตามเส้นทางแบบเต็มของไฟล์หรือไดเรกทอรีในระบบไฟล์ในเครื่อง แต่อาจมีการปรับให้สามารถอ่านได้ง่ายขึ้นเพื่อวัตถุประสงค์ในการแสดงผล

พารามิเตอร์

  • รายการ

    รายการ

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (displayPath: string) => void

    • displayPath

      สตริง

การคืนสินค้า

  • Promise<string>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

getVolumeList()

Promise Chrome 44 ขึ้นไป
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()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

แสดงว่าแอปมีสิทธิ์กู้คืนรายการที่มีรหัสที่ระบุหรือไม่

พารามิเตอร์

  • id

    สตริง

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (isRestorable: boolean) => void

    • isRestorable

      บูลีน

การคืนสินค้า

  • Promise<boolean>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

รับว่ารายการนี้เขียนได้หรือไม่

พารามิเตอร์

  • รายการ

    รายการ

  • callback

    ฟังก์ชัน ไม่บังคับ

    พารามิเตอร์ callback มีลักษณะดังนี้

    (isWritable: boolean) => void

    • isWritable

      บูลีน

การคืนสินค้า

  • Promise<boolean>

    Chrome 117 ขึ้นไป

    ระบบรองรับ Promise สำหรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น แพลตฟอร์มอื่นๆ ต้องใช้การเรียกกลับ

requestFileSystem()

Promise Chrome 44 ขึ้นไป
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 44 ขึ้นไป
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

เรียกใช้เมื่อมีการเปลี่ยนแปลงรายการระดับเสียงที่ใช้ได้

พารามิเตอร์