الوصف
استخدِم واجهة برمجة التطبيقات chrome.fileSystem لإنشاء نظام الملفات المحلي للمستخدم وقراءته والتنقّل فيه والكتابة إليه. باستخدام واجهة برمجة التطبيقات هذه، يمكن لتطبيقات Chrome القراءة والكتابة في موقع جغرافي يختاره المستخدم. على سبيل المثال، يمكن لتطبيق محرِّر النصوص استخدام واجهة برمجة التطبيقات لقراءة المستندات المحلية وكتابتها. يتم الإبلاغ عن جميع حالات التعذُّر من خلال chrome.runtime.lastError.
الأذونات
fileSystemمدى التوفّر
الأنواع
AcceptOption
الخصائص
-
الوصف
string اختياري
هذا هو الوصف النصي الاختياري لهذا الخيار. في حال عدم توفّر وصف، سيتم إنشاء وصف تلقائيًا، ويحتوي عادةً على قائمة موسّعة من الإضافات الصالحة (على سبيل المثال، قد يتم توسيع "text/html" إلى "*.html, *.htm").
-
إضافات
string[] اختياري
الامتدادات التي يتم قبولها، مثل "jpg" و"gif" و"crx".
-
mimeTypes
string[] اختياري
أنواع MIME التي يتم قبولها، مثل "image/jpeg" أو "audio/*". يجب أن يحتوي أحد mimeTypes أو الإضافات على عنصر صالح واحد على الأقل.
ChooseEntryOptions
الخصائص
-
يقبل
AcceptOption[] اختيارية
قائمة اختيارية بخيارات القبول لأداة فتح الملفات هذه سيتم عرض كل خيار كمجموعة فريدة للمستخدم النهائي.
-
acceptsAllTypes
قيمة منطقية اختيارية
ما إذا كان سيتم قبول جميع أنواع الملفات، بالإضافة إلى الخيارات المحدّدة في وسيطة accepts. وتكون القيمة التلقائية مضبوطة على true. إذا لم يتم ضبط حقل accepts أو لم يتضمّن أي إدخالات صالحة، ستتم إعادة ضبطه دائمًا على القيمة true.
-
acceptsMultiple
قيمة منطقية اختيارية
ما إذا كان سيتم قبول ملفات متعددة أم لا لا يتوفّر هذا الخيار إلا لـ openFile وopenWritableFile. سيتم استدعاء دالة الاستدعاء chooseEntry مع قائمة بالإدخالات إذا تم ضبط هذا الخيار على "صحيح". وإلا سيتم استدعاؤها باستخدام إدخال واحد.
-
suggestedName
string اختياري
اسم الملف المقترَح الذي سيتم عرضه للمستخدم كاسم تلقائي للحفظ. هذا الإجراء اختياري وينطبق فقط على "saveFile".
-
النوع
ChooseEntryType اختياري
نوع الطلب المطلوب عرضه القيمة التلقائية هي "openFile".
ChooseEntryType
Enum
"openFile"
يطلب من المستخدم فتح ملف حالي ويعرض FileEntry عند النجاح. بدءًا من الإصدار 31 من Chrome، سيكون FileEntry قابلاً للكتابة إذا كان التطبيق يملك إذن "الكتابة" ضمن "fileSystem"، وإلا سيكون FileEntry للقراءة فقط.
"openWritableFile"
يطلب من المستخدم فتح ملف حالي ويعرض FileEntry قابلاً للكتابة عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع بسبب خطأ أثناء التشغيل إذا لم يكن التطبيق يملك إذن "الكتابة" ضمن "fileSystem".
"saveFile"
يطلب من المستخدم فتح ملف حالي أو ملف جديد ويعرض FileEntry قابلاً للكتابة عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع بسبب خطأ أثناء التشغيل إذا لم يكن التطبيق يملك إذن "الكتابة" ضمن "fileSystem".
"openDirectory"
يطلب من المستخدم فتح دليل ويعرض DirectoryEntry عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع مع ظهور خطأ أثناء التشغيل إذا لم يكن التطبيق يمتلك إذن "الدليل" ضمن "fileSystem". إذا كان التطبيق يمتلك إذن "الكتابة" ضمن "fileSystem"، سيكون DirectoryEntry الذي تم عرضه قابلاً للكتابة، وإلا سيكون للقراءة فقط. الجديد في الإصدار 31 من Chrome
RequestFileSystemOptions
الخصائص
-
volumeId
سلسلة
رقم تعريف المجلد المطلوب
-
قابل للكتابة
قيمة منطقية اختيارية
ما إذا كان يجب أن يكون نظام الملفات المطلوب قابلاً للكتابة. الإعداد التلقائي هو "للقراءة فقط".
Volume
الخصائص
-
volumeId
سلسلة
-
قابل للكتابة
قيمة منطقية
VolumeListChangedEvent
الخصائص
-
مجلدات
الطُرق
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
اطلب من المستخدم اختيار ملف أو دليل.
المعلمات
-
الخيارات
ChooseEntryOptions اختياري
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
إدخال
الإدخال اختياري
-
fileEntries
FileEntry[] اختياري
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
الحصول على مسار العرض لعنصر Entry يستند مسار العرض إلى المسار الكامل للملف أو الدليل في نظام الملفات على الجهاز، ولكن يمكن جعله أكثر قابلية للقراءة لأغراض العرض.
المعلمات
-
إدخال
إدخال
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(displayPath: string) => void
-
displayPath
سلسلة
-
المرتجعات
-
وعد<سلسلة>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
تعرض هذه الدالة قائمة بالمجلدات المتاحة لـ requestFileSystem(). يجب الحصول على إذن البيان "fileSystem": {"requestFileSystem"}. متاح لتطبيقات Kiosk التي تعمل في جلسة Kiosk فقط. في حال حدوث خطأ، لن يتم تحديد volumes وسيتم ضبط chrome.runtime.lastError.
المعلمات
المرتجعات
-
Promise<Volume[] | undefined>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
الحصول على إدخال قابل للكتابة من إدخال آخر سيتعذّر إجراء هذا الطلب بسبب خطأ أثناء التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "fileSystem". إذا كان الإدخال هو DirectoryEntry، سيتعذّر إجراء هذه المكالمة إذا لم يكن التطبيق لديه إذن "الدليل" ضمن "fileSystem".
المعلمات
-
إدخال
إدخال
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(entry: Entry) => void
-
إدخال
إدخال
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
تعرض هذه الدالة ما إذا كان التطبيق يملك الإذن باستعادة الإدخال الذي يحمل رقم التعريف المحدّد.
المعلمات
-
id
سلسلة
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(isRestorable: boolean) => void
-
isRestorable
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
تحدّد ما إذا كان هذا الإدخال قابلاً للكتابة أم لا.
المعلمات
-
إدخال
إدخال
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(isWritable: boolean) => void
-
isWritable
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
يطلب هذا الإذن الوصول إلى نظام ملفات لوحدة تخزين يمثّلها options.volumeId. إذا تم ضبط السياسة options.writable على "صحيح"، سيكون نظام الملفات قابلاً للكتابة. وإذا لم يكن كذلك، سيكون متاحًا للقراءة فقط. يتطلّب الخيار writable توفُّر الإذن "fileSystem": {"write"} في ملف البيان. متاح لتطبيقات Kiosk التي تعمل في جلسة Kiosk فقط. بالنسبة إلى وضع Kiosk الذي يتم تشغيله يدويًا، سيظهر مربّع حوار للتأكيد أعلى نافذة التطبيق النشط. في حال حدوث خطأ، لن يتم تحديد fileSystem وسيتم ضبط chrome.runtime.lastError.
المعلمات
-
الخيارات
-
callback
function اختياري
تظهر المَعلمة
callbackعلى النحو التالي:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem اختياري
-
المرتجعات
-
Promise<FileSystem | undefined>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، وتحتاج المنصات الأخرى إلى استخدام عمليات الاستدعاء.
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