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 ที่จะยอมรับ เช่น "รูปภาพ/jpeg" หรือ "audio/*" mimeType หรือส่วนขยายรายการใดรายการหนึ่งต้องมีองค์ประกอบที่ถูกต้องอย่างน้อย 1 รายการ

ChooseEntryOptions

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

  • ยอมรับ

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

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

  • acceptsAllTypes

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

    กำหนดว่าจะยอมรับไฟล์ทุกประเภทหรือไม่ รวมถึงตัวเลือกที่ระบุในอาร์กิวเมนต์การยอมรับ ค่าเริ่มต้นคือ True หากไม่ได้ตั้งค่าช่องยอมรับหรือไม่มีรายการที่ถูกต้อง การดำเนินการนี้จะรีเซ็ตเป็น "จริง" เสมอ

  • acceptsMultiple

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

    เลือกว่าจะรับหลายไฟล์หรือไม่ วิธีนี้รองรับเฉพาะ OpenFile และ openWritableFile ระบบจะเรียก Callback ไปยัง chooseEntry ด้วยรายการหากตั้งค่าเป็น "จริง" ไม่เช่นนั้นระบบจะเรียกใช้ด้วยรายการเดียว

  • suggestedName

    string ไม่บังคับ

    ชื่อไฟล์ที่แนะนำที่จะแสดงต่อผู้ใช้เป็นชื่อเริ่มต้นที่จะอ่านหรือเขียน ขั้นตอนนี้ไม่บังคับ

  • ประเภท

    ChooseEntryType ไม่บังคับ

    ประเภทพรอมต์ที่จะแสดง ค่าเริ่มต้นคือ "openFile"

ChooseEntryType

ค่าแจกแจง

"openFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่และแสดงผล FileEntry เมื่อสำเร็จ ตั้งแต่ Chrome 31 เป็นต้นไป FileEntry จะเขียนได้ถ้าแอปพลิเคชันมี "write" สิทธิ์ภายใต้ "fileSystem" ไม่เช่นนั้น FileEntry จะเป็นแบบอ่านอย่างเดียว

"openWritableFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่และแสดงผล FileEntry ที่เขียนได้เมื่อดำเนินการสำเร็จ การเรียกใช้ที่ใช้ประเภทนี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มี "write" สิทธิ์ในส่วน "fileSystem"

"saveFile"
แจ้งให้ผู้ใช้เปิดไฟล์ที่มีอยู่หรือไฟล์ใหม่ และแสดงผล FileEntry ที่เขียนได้เมื่อดำเนินการสำเร็จ การเรียกใช้ที่ใช้ประเภทนี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มี "write" สิทธิ์ในส่วน "fileSystem"

"openDirectory"
แจ้งให้ผู้ใช้เปิดไดเรกทอรีและแสดงผล DirectoryEntry เมื่อทำสำเร็จ การเรียกที่ใช้ประเภทนี้จะล้มเหลวพร้อมข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มี "ไดเรกทอรี" ภายใต้ "fileSystem" หากแอปพลิเคชันมีบรรทัด "เขียน" สิทธิ์ภายใต้ "fileSystem" จะทำให้ DirectoryEntry ที่ถูกส่งคืนสามารถเขียนได้ มิฉะนั้นจะมีสถานะอ่านอย่างเดียว ใหม่ใน Chrome 31

RequestFileSystemOptions

Chrome 44 ขึ้นไป

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

  • volumeId

    สตริง

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

  • เขียนได้

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

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

Volume

Chrome 44 ขึ้นไป

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

  • volumeId

    สตริง

  • เขียนได้

    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

      สตริง

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

  • คำมั่นสัญญา<สตริง>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getVolumeList()

สัญญา Chrome 44 ขึ้นไป
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

พารามิเตอร์

  • Callback

    ไม่บังคับ

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

    (volumes?: Volume[]) => void

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

  • Promise&lt;Volume[] | ไม่ระบุ>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)

รับ 1 บทความที่เขียนได้จากรายการอื่น การเรียกใช้นี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์หากแอปพลิเคชันไม่มี "write" ภายใต้ "fileSystem" หากรายการคือ DirectoryEntry การเรียกนี้จะล้มเหลวหากแอปพลิเคชันไม่มี "directory" ภายใต้ "fileSystem"

พารามิเตอร์

  • รายการ

    รายการ

  • Callback

    ฟังก์ชัน

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

    (entry: Entry) => void

    • รายการ

      รายการ

isRestorable()

สัญญา
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

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

พารามิเตอร์

  • id

    สตริง

  • Callback

    ไม่บังคับ

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

    (isRestorable: boolean) => void

    • isRestorable

      boolean

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

  • Promise&lt;boolean&gt;

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

isWritableEntry()

สัญญา
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

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

พารามิเตอร์

  • รายการ

    รายการ

  • Callback

    ไม่บังคับ

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

    (isWritable: boolean) => void

    • isWritable

      boolean

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

  • Promise&lt;boolean&gt;

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

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&lt;FileSystem | ไม่ระบุ>

    Chrome 117 ขึ้นไป

    Promise รองรับไฟล์ Manifest V3 ขึ้นไปเท่านั้น ส่วนแพลตฟอร์มอื่นๆ ต้องใช้ Callback

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)

แสดงรายการไฟล์ที่มีรหัสที่กำหนดหากกู้คืนได้ การเรียกใช้นี้จะล้มเหลวโดยมีข้อผิดพลาดรันไทม์

พารามิเตอร์

  • id

    สตริง

  • Callback

    ฟังก์ชัน

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

    (entry: Entry) => void

    • รายการ

      รายการ

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

แสดงผลรหัสที่สามารถส่งผ่านไปยังrecoveryEntry เพื่อให้เข้าถึงรายการไฟล์ที่กำหนดอีกครั้ง ระบบจะเก็บรักษาเฉพาะรายการที่ใช้งานล่าสุด 500 รายการเท่านั้น โดยนับจํานวนการเรียกเพื่อเก็บรักษาและรายการกู้คืนเป็น "ใช้งานอยู่" หากแอปมี "retainEntries" ภายใต้ "fileSystem" ระบบจะเก็บรักษารายการไว้โดยไม่มีกำหนด ไม่เช่นนั้น ระบบจะเก็บรักษารายการขณะแอปทำงานอยู่และขณะรีสตาร์ทเท่านั้น

พารามิเตอร์

  • รายการ

    รายการ

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

  • สตริง

กิจกรรม

onVolumeListChanged

Chrome 44 ขึ้นไป
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

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

พารามิเตอร์