chrome.fileSystem

คำอธิบาย

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

Chrome 44 ขึ้นไป

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

  • volumeId

    string

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

  • เขียนได้

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

    ระบบไฟล์ที่ขอควรเขียนได้หรือไม่ ค่าเริ่มต้นคืออ่านอย่างเดียว

Volume

Chrome 44 ขึ้นไป

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

  • volumeId

    string

  • เขียนได้

    boolean

VolumeListChangedEvent

Chrome 44 ขึ้นไป

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

วิธีการ

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

เรียกใช้เมื่อมีการเปลี่ยนแปลงรายการวอลุ่มที่ใช้ได้

พารามิเตอร์