תיאור
משתמשים ב-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
מחרוזת אופציונלי
שם הקובץ המוצע שיוצג למשתמש כשם ברירת המחדל לקריאה או לכתיבה. הפעולה הזאת אופציונלית.
-
סוג
ChooseEntryType אופציונלי
סוג ההודעה שמוצגת. ברירת המחדל היא openFile.
ChooseEntryType
Enum
openFile
מציג למשתמש בקשה לפתוח קובץ קיים ומחזיר FileEntry אם הפעולה הצליחה. מגרסה 31 של Chrome ואילך, אפשר יהיה לכתוב ב-FileEntry אם לאפליקציה יש הרשאת 'כתיבה' בקטע 'fileSystem'. אחרת, ה-FileEntry יהיה לקריאה בלבד.
openWritableFile
מציג למשתמש בקשה לפתוח קובץ קיים ומחזיר FileEntry שניתן לכתיבה אם הפעולה הצליחה. קריאות באמצעות הסוג הזה ייכשלו עם שגיאת זמן ריצה אם לאפליקציה אין הרשאת כתיבה בקטע fileSystem.
"saveFile"
מציג למשתמש בקשה לפתוח קובץ קיים או קובץ חדש, ומחזיר FileEntry שניתן לכתיבה אם הפעולה מצליחה. קריאות באמצעות הסוג הזה ייכשלו עם שגיאת זמן ריצה אם לאפליקציה אין הרשאת כתיבה בקטע fileSystem.
openDirectory
מציג למשתמש הנחיה לפתוח ספרייה ומחזיר DirectoryEntry אם הפעולה הצליחה. אם לאפליקציה אין הרשאת 'ספרייה' בקטע 'מערכת קבצים', שיחות שמשתמשות בסוג הזה ייכשלו עם שגיאת זמן ריצה. אם לאפליקציה יש הרשאת כתיבה בקטע fileSystem, אפשר יהיה לכתוב ב-DirectoryEntry שיוחזר. אחרת, הוא יהיה לקריאה בלבד. חדש ב-Chrome 31.
RequestFileSystemOptions
מאפיינים
-
volumeId
מחרוזת
המזהה של נפח האחסון המבוקש.
-
ניתן לכתיבה
boolean אופציונלי
האם מערכת הקבצים המבוקשת צריכה להיות ניתנת לכתיבה. ברירת המחדל היא קריאה בלבד.
Volume
מאפיינים
-
volumeId
מחרוזת
-
ניתן לכתיבה
בוליאני
VolumeListChangedEvent
מאפיינים
-
כרכים
Methods
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
מבקשים מהמשתמש לבחור קובץ או ספרייה.
פרמטרים
-
options
ChooseEntryOptions אופציונלי
-
callback
פונקציה
הפרמטר
callback
נראה כך:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
ערך
ערך אופציונלי
-
fileEntries
FileEntry[] אופציונלי
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
אחזור הנתיב לתצוגה של אובייקט Entry. נתיב התצוגה מבוסס על הנתיב המלא של הקובץ או הספרייה במערכת הקבצים המקומית, אבל יכול להיות שהוא יוצג בצורה קריאה יותר.
פרמטרים
-
ערך
הערך
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(displayPath: string) => void
-
displayPath
מחרוזת
-
החזרות
-
Promise<string>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
מחזירה רשימה של כרכים שזמינים ל-requestFileSystem()
. נדרשת הרשאת המניפסט "fileSystem": {"requestFileSystem"}
. ההגדרה זמינה רק לאפליקציות קיוסק שפועלות בסשן קיוסק. במקרה של שגיאה, הערך של volumes
יהיה לא מוגדר, והערך של chrome.runtime.lastError
יוגדר.
פרמטרים
החזרות
-
Promise<Volume[] | undefined>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
קבלת רשומה שאפשר לכתוב בה מרשומה אחרת. הקריאה הזו תיכשל עם שגיאת זמן ריצה אם לאפליקציה אין הרשאת 'כתיבה' בקטע 'fileSystem'. אם הרשומה היא DirectoryEntry, הקריאה הזו תיכשל אם לאפליקציה אין הרשאת 'ספרייה' בקטע 'מערכת קבצים'.
פרמטרים
-
ערך
הערך
-
callback
פונקציה
הפרמטר
callback
נראה כך:(entry: Entry) => void
-
ערך
הערך
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
הפונקציה מחזירה את הערך true אם לאפליקציה יש הרשאה לשחזר את הרשומה עם המזהה הנתון, אחרת היא מחזירה את הערך false.
פרמטרים
-
id [מזהה]
מחרוזת
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(isRestorable: boolean) => void
-
isRestorable
בוליאני
-
החזרות
-
Promise<boolean>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
מחזירה אם אפשר לכתוב ב-Entry הזה או לא.
פרמטרים
-
ערך
הערך
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(isWritable: boolean) => void
-
isWritable
בוליאני
-
החזרות
-
Promise<boolean>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
בקשת גישה למערכת קבצים לנפח שמיוצג על ידי options.volumeId
. אם options.writable
מוגדר כ-True, אפשר יהיה לכתוב במערכת הקבצים. אחרת, הוא יהיה לקריאה בלבד. האפשרות writable
דורשת את ההרשאה "fileSystem": {"write"}
במניפסט. ההגדרה זמינה רק לאפליקציות קיוסק שפועלות בסשן קיוסק. במצב קיוסק עם הפעלה ידנית, תוצג תיבת דו-שיח לאישור מעל חלון האפליקציה הפעילה. במקרה של שגיאה, הערך של fileSystem
יהיה לא מוגדר, והערך של chrome.runtime.lastError
יוגדר.
פרמטרים
-
options
-
callback
פונקציה אופציונלית
הפרמטר
callback
נראה כך:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem אופציונלי
-
החזרות
-
Promise<FileSystem | undefined>
Chrome 117 ואילךההבטחות נתמכות רק ב-Manifest V3 ובגרסאות מאוחרות יותר. בפלטפורמות אחרות צריך להשתמש בפונקציות Callback.
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
הקריאה מתבצעת כשמשתנה רשימת הכרכים הזמינים.
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:(event: VolumeListChangedEvent) => void
-
אירוע
-