chrome.fileSystem

תיאור

משתמשים ב-API ‏chrome.fileSystem כדי ליצור, לקרוא, לנווט ולכתוב במערכת הקבצים המקומית של המשתמש. באמצעות ה-API הזה, אפליקציות Chrome יכולות לקרוא ולכתוב למיקום שהמשתמש בחר. לדוגמה, אפליקציה לעריכת טקסט יכולה להשתמש ב-API כדי לקרוא ולכתוב מסמכים מקומיים. כל הכשלים מדווחים באמצעות chrome.runtime.lastError.

הרשאות

fileSystem

זמינות

רק בחזית

סוגים

AcceptOption

מאפיינים

  • תיאור

    מחרוזת אופציונלי

    זהו תיאור טקסט אופציונלי של האפשרות הזו. אם לא מצוין תיאור, המערכת תיצור תיאור באופן אוטומטי. בדרך כלל התיאור יכלול רשימה מורחבת של סיומות תקפות (לדוגמה, 'text/html' עשוי להפוך ל-'*.html, *.htm').

  • תוספים

    string[] אופציונלי

    תוספים לאישור, לדוגמה: jpg,‏ gif,‏ crx.

  • mimeTypes

    string[] אופציונלי

    סוגי MIME לקבלה, לדוגמה: image/jpeg או audio/*‎. אחד מהמאפיינים mimeTypes או extensions חייב להכיל לפחות רכיב תקין אחד.

ChooseEntryOptions

מאפיינים

  • מקבל

    AcceptOption[] אופציונלי

    רשימת האפשרויות לקבלה של פותח הקבצים הזה. כל אפשרות תוצג כקבוצה ייחודית למשתמש הקצה.

  • acceptsAllTypes

    ‫boolean אופציונלי

    האם לקבל את כל סוגי הקבצים, בנוסף לאפשרויות שצוינו בארגומנט accepts. ברירת המחדל היא true. אם השדה accepts לא מוגדר או לא מכיל ערכים תקינים, הוא תמיד יאופס ל-true.

  • acceptsMultiple

    ‫boolean אופציונלי

    האם לקבל כמה קבצים. האפשרות הזו נתמכת רק בפונקציות openFile ו-openWritableFile. אם הערך מוגדר כ-true, הקריאה החוזרת אל chooseEntry תתבצע עם רשימה של רשומות. אחרת, היא תופעל עם רשומה אחת.

  • suggestedName

    מחרוזת אופציונלי

    שם הקובץ המוצע שיוצג למשתמש כשם ברירת המחדל לשמירה. ההגדרה הזו היא אופציונלית ורלוונטית רק ל-saveFile.

  • סוג

    ChooseEntryType אופציונלי

    סוג ההודעה שמוצגת. ערך ברירת המחדל הוא openFile.

ChooseEntryType

ספירה

openFile
מציג למשתמש בקשה לפתוח קובץ קיים ומחזיר FileEntry אם הפעולה הצליחה. החל מגרסה 31 של Chrome, אפשר יהיה לכתוב ב-FileEntry אם לאפליקציה יש הרשאת כתיבה בקטע fileSystem. אחרת, ה-FileEntry יהיה לקריאה בלבד.

openWritableFile
מציג למשתמש בקשה לפתוח קובץ קיים ומחזיר FileEntry שניתן לכתיבה אם הפעולה הצליחה. אם לאפליקציה אין הרשאת כתיבה בקטע fileSystem, שיחות שמשתמשות בסוג הזה ייכשלו עם שגיאת זמן ריצה.

saveFile
מציג למשתמש בקשה לפתוח קובץ קיים או קובץ חדש, ומחזיר FileEntry שניתן לכתיבה אם הפעולה מצליחה. אם לאפליקציה אין הרשאת כתיבה בקטע fileSystem, שיחות שמשתמשות בסוג הזה ייכשלו עם שגיאת זמן ריצה.

openDirectory
מציג למשתמש הנחיה לפתוח ספרייה ומחזיר DirectoryEntry אם הפעולה הצליחה. אם לאפליקציה אין הרשאת 'ספרייה' בקטע 'מערכת קבצים', שיחות שמשתמשות בסוג הזה ייכשלו עם שגיאת זמן ריצה. אם לאפליקציה יש הרשאת כתיבה בקטע fileSystem, אפשר יהיה לכתוב ב-DirectoryEntry שיוחזר. אחרת, הוא יהיה לקריאה בלבד. חדש ב-Chrome 31.

RequestFileSystemOptions

Chrome 44 ואילך

מאפיינים

  • volumeId

    מחרוזת

    המזהה של עוצמת הקול המבוקשת.

  • ניתן לכתיבה

    ‫boolean אופציונלי

    האם מערכת הקבצים המבוקשת צריכה להיות ניתנת לכתיבה. ברירת המחדל היא קריאה בלבד.

Volume

Chrome 44 ואילך

מאפיינים

  • volumeId

    מחרוזת

  • ניתן לכתיבה

    בוליאני

VolumeListChangedEvent

Chrome 44 ואילך

מאפיינים

Methods

chooseEntry()

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

מבקשים מהמשתמש לבחור קובץ או ספרייה.

פרמטרים

  • options

    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

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (displayPath: string) => void

    • displayPath

      מחרוזת

החזרות

  • Promise<string>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getVolumeList()

Promise Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

מחזירה רשימה של כרכים שזמינים ל-requestFileSystem(). נדרשת הרשאת המניפסט "fileSystem": {"requestFileSystem"}. ההגדרה זמינה רק לאפליקציות קיוסק שפועלות בסשן קיוסק. במקרה של שגיאה, הערך של volumes יהיה לא מוגדר, והערך של chrome.runtime.lastError יוגדר.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (volumes?: Volume[]) => void

    • כרכים

      Volume[] אופציונלי

החזרות

  • Promise<Volume[] | undefined>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

getWritableEntry()

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

קבלת רשומה שאפשר לכתוב בה מרשומה אחרת. הקריאה הזו תיכשל עם שגיאת זמן ריצה אם לאפליקציה אין הרשאת 'כתיבה' בקטע 'fileSystem'. אם הרשומה היא DirectoryEntry, הקריאה הזו תיכשל אם לאפליקציה אין הרשאת 'ספרייה' בקטע 'מערכת קבצים'.

פרמטרים

  • entry

    הערך

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (entry: Entry) => void

    • entry

      הערך

isRestorable()

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

הפונקציה מחזירה אם לאפליקציה יש הרשאה לשחזר את הרשומה עם המזהה הנתון.

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (isRestorable: boolean) => void

    • isRestorable

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

isWritableEntry()

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

מחזירה אם אפשר לכתוב ב-Entry הזה או לא.

פרמטרים

  • entry

    הערך

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (isWritable: boolean) => void

    • isWritable

      בוליאני

החזרות

  • Promise<boolean>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

requestFileSystem()

Promise Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)
: Promise<FileSystem | undefined>

בקשת גישה למערכת קבצים עבור נפח אחסון שמיוצג על ידי options.volumeId. אם options.writable מוגדר כ-True, אפשר יהיה לכתוב במערכת הקבצים. אחרת, הוא יהיה לקריאה בלבד. האפשרות writable דורשת את ההרשאה "fileSystem": {"write"} במניפסט. האפשרות זמינה רק לאפליקציות קיוסק שפועלות בסשן קיוסק. במצב קיוסק עם הפעלה ידנית, תוצג תיבת דו-שיח לאישור מעל חלון האפליקציה הפעילה. במקרה של שגיאה, הערך של fileSystem יהיה לא מוגדר, והערך של chrome.runtime.lastError יוגדר.

פרמטרים

  • callback

    פונקציה אופציונלית

    הפרמטר callback נראה כך:

    (fileSystem?: FileSystem) => void

    • fileSystem

      FileSystem אופציונלי

החזרות

  • Promise<FileSystem | undefined>

    Chrome 117 ואילך

    התמיכה ב-Promises קיימת רק ב-Manifest V3 ואילך. בפלטפורמות אחרות צריך להשתמש ב-callbacks.

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,
)

מופעלת כשיש שינוי ברשימת הכרכים הזמינים.

פרמטרים