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

    בוליאני אופציונלי

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

  • acceptsMultiple

    בוליאני אופציונלי

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

  • suggestedName

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

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

  • סוג

    ‫ChooseEntryType אופציונלי

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

ChooseEntryType

טיפוסים בני מנייה (enum)

"openFile"
מבקש מהמשתמש לפתוח קובץ קיים ומחזיר FileEntry אם הפעולה מצליחה. החל מגרסה 31 של Chrome, אפשר יהיה לכתוב ב-FileEntry אם לאפליקציה יש הרשאת write (כתיבה) ב-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 ואילך

מאפיינים

Methods

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>

קבלת נתיב התצוגה של אובייקט Entry. הנתיב לתצוגה מבוסס על הנתיב המלא של הקובץ או הספרייה במערכת הקבצים המקומית, אבל יכול להיות שהוא יהיה קריא יותר למטרות תצוגה.

פרמטרים

  • ערך

    הערך

  • callback

    function optional

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

    (displayPath: string) => void

    • displayPath

      מחרוזת

החזרות

  • Promise<string>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getVolumeList()

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

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

פרמטרים

  • callback

    function optional

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

    (volumes?: Volume[]) => void

    • כרכים

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

החזרות

  • Promise<Volume[] | undefined>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

getWritableEntry()

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

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

פרמטרים

  • ערך

    הערך

  • callback

    פונקציה

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

    (entry: Entry) => void

    • ערך

      הערך

isRestorable()

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

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

פרמטרים

  • id [מזהה]

    מחרוזת

  • callback

    function optional

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

    (isRestorable: boolean) => void

    • isRestorable

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

isWritableEntry()

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

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

פרמטרים

  • ערך

    הערך

  • callback

    function optional

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

    (isWritable: boolean) => void

    • isWritable

      בוליאני

החזרות

  • Promise<boolean>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-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

    function optional

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

    (fileSystem?: FileSystem) => void

    • fileSystem

      ‫FileSystem אופציונלי

החזרות

  • Promise<FileSystem | undefined>

    ‫Chrome מגרסה 117 ואילך

    הבטחות נתמכות רק ב-Manifest V3 ואילך, בפלטפורמות אחרות צריך להשתמש בקריאות חוזרות (callbacks).

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

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

פרמטרים