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/*" 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

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

    • entry

      ไม่บังคับ

    • fileEntries

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

getDisplayPath()

Promise
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()

Promise Chrome 44 ขึ้นไป
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

แสดงรายการหนังสือที่พร้อมให้บริการสำหรับ requestFileSystem() ต้องมีสิทธิ์ "fileSystem": {"requestFileSystem"} ในไฟล์ Manifest ใช้ได้กับแอปคีออสก์ที่ทำงานในเซสชันคีออสก์เท่านั้น ในกรณีที่เกิดข้อผิดพลาด ระบบจะไม่กำหนด volumes และจะตั้งค่า chrome.runtime.lastError

พารามิเตอร์

  • callback

    function ไม่บังคับ

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

    (volumes?: Volume[]) => void

    • เล่ม

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

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

  • 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()

Promise
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()

Promise
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()

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

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

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

พารามิเตอร์

  • callback

    ฟังก์ชัน

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

    (event: VolumeListChangedEvent) => void