תיאור
משתמשים ב-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
מאפיינים
-
volumeId
מחרוזת
המזהה של עוצמת הקול המבוקשת.
-
ניתן לכתיבה
boolean אופציונלי
האם מערכת הקבצים המבוקשת צריכה להיות ניתנת לכתיבה. ברירת המחדל היא קריאה בלבד.
Volume
מאפיינים
-
volumeId
מחרוזת
-
ניתן לכתיבה
בוליאני
VolumeListChangedEvent
מאפיינים
-
כרכים
Methods
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
מבקשים מהמשתמש לבחור קובץ או ספרייה.
פרמטרים
-
options
ChooseEntryOptions אופציונלי
-
callback
פונקציה
הפרמטר
callbackנראה כך:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
entry
ערך אופציונלי
-
fileEntries
FileEntry[] אופציונלי
-
getDisplayPath()
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()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
מחזירה רשימה של כרכים שזמינים ל-requestFileSystem(). נדרשת הרשאת המניפסט "fileSystem": {"requestFileSystem"}. ההגדרה זמינה רק לאפליקציות קיוסק שפועלות בסשן קיוסק. במקרה של שגיאה, הערך של volumes יהיה לא מוגדר, והערך של chrome.runtime.lastError יוגדר.
פרמטרים
החזרות
-
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()
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()
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()
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 ואילךהתמיכה ב-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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
מופעלת כשיש שינוי ברשימת הכרכים הזמינים.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(event: VolumeListChangedEvent) => void
-
אירוע
-