الوصف
استخدِم واجهة برمجة التطبيقات chrome.fileSystem لإنشاء نظام الملفات المحلي للمستخدم وقراءته وتصفّحه والكتابة فيه. باستخدام واجهة برمجة التطبيقات هذه، يمكن لتطبيقات Chrome قراءة البيانات وكتابتها في موقع جغرافي يختاره المستخدم. على سبيل المثال، يمكن لتطبيق محرِّر نصوص استخدام واجهة برمجة التطبيقات لقراءة المستندات المحلية وكتابتها. يتم إرسال إشعار بجميع حالات التعذّر من خلال 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 القيمة التلقائية هي "صحيح". إذا كان الحقل "يقبل" بدون ضبط أو لا يحتوي على أي إدخالات صالحة، ستتم إعادة ضبطه دائمًا على "صحيح".
-
acceptsMultiple
boolean اختياري
تحديد ما إذا كان سيتم قبول ملفات متعددة لا تتوفّر هذه الميزة إلا للدالتَين openFile وopenWritableFile. سيتم استدعاء دالة الرجوع إلى chooseEntry مع قائمة بالإدخالات إذا تم ضبط هذا الخيار على "صحيح". وفي الحالات الأخرى، سيتم استدعاؤه باستخدام عنصر Entry واحد.
-
suggestedName
سلسلة اختيارية
اسم الملف المقترَح الذي سيتم عرضه للمستخدم كاسم تلقائي للحفظ هذه السمة اختيارية ولا تنطبق إلا على saveFile.
-
النوع
ChooseEntryType اختيارية
نوع الإشعار المطلوب عرضه. القيمة التلقائية هي openFile.
ChooseEntryType
تعداد
openFile"
يطلب من المستخدم فتح ملف حالي ويعرض FileEntry عند النجاح. بدءًا من الإصدار 31 من Chrome، سيكون FileEntry قابلاً للكتابة إذا كان التطبيق لديه إذن "الكتابة" ضِمن "fileSystem"، وإلا سيكون FileEntry للقراءة فقط.
openWritableFile
يطلب من المستخدم فتح ملف حالي ويعرض FileEntry قابلاً للكتابة عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع مع ظهور خطأ وقت التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "نظام الملفات".
"saveFile"
يطلب من المستخدم فتح ملف حالي أو ملف جديد ويعرض FileEntry قابلاً للكتابة عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع مع ظهور خطأ وقت التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "نظام الملفات".
"openDirectory"
يطلب من المستخدم فتح دليل ويعرض DirectoryEntry عند النجاح. ستتعذّر المكالمات التي تستخدم هذا النوع مع ظهور خطأ وقت التشغيل إذا لم يكن لدى التطبيق إذن "الدليل" ضمن "نظام الملفات". إذا كان التطبيق لديه إذن "الكتابة" ضمن "fileSystem"، سيكون DirectoryEntry الذي تم إرجاعه قابلاً للكتابة، وإلا سيكون للقراءة فقط. جديد في Chrome 31
RequestFileSystemOptions
الخصائص
-
volumeId
سلسلة
معرّف وحدة التخزين المطلوبة.
-
قابل للكتابة
boolean اختياري
تحديد ما إذا كان يجب أن يكون نظام الملفات المطلوب قابلاً للكتابة القيمة التلقائية هي للقراءة فقط.
Volume
الخصائص
-
volumeId
سلسلة
-
قابل للكتابة
قيمة منطقية
VolumeListChangedEvent
الخصائص
-
المجلدات
Volume[]
الطُرق
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(displayPath: string) => void
-
displayPath
سلسلة
-
المرتجعات
-
Promise<string>
الإصدار 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
الحصول على Entry قابل للكتابة من Entry آخر سيتعذّر تنفيذ هذا الاستدعاء مع ظهور خطأ وقت التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "fileSystem". إذا كان الإدخال DirectoryEntry، سيتعذّر تنفيذ هذه المكالمة إذا لم يكن لدى التطبيق إذن "الدليل" ضِمن "نظام الملفات".
المعلمات
-
إدخال
إدخال
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(entry: Entry) => void
-
إدخال
إدخال
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
تعرِض هذه السمة ما إذا كان التطبيق لديه إذن باستعادة الإدخال الذي يحمل رقم التعريف المحدّد.
المعلمات
-
id
سلسلة
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(isRestorable: boolean) => void
-
isRestorable
قيمة منطقية
-
المرتجعات
-
Promise<boolean>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات رد الاتصال.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
تعرض هذه السمة ما إذا كان يمكن الكتابة في هذا الإدخال أم لا.
المعلمات
-
إدخال
إدخال
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
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 إدخال تم استخدامه فقط، حيث يتم احتساب طلبات الاحتفاظ بالإدخال واستعادته كاستخدام. إذا كان التطبيق لديه إذن "retainEntries" ضِمن "fileSystem"، يتم الاحتفاظ بالإدخالات إلى أجل غير مسمّى. في ما عدا ذلك، يتم الاحتفاظ بالإدخالات فقط أثناء تشغيل التطبيق وعند إعادة تشغيله.
المعلمات
-
إدخال
إدخال
المرتجعات
-
سلسلة
الفعاليات
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
يتم استدعاؤها عند تغيير قائمة وحدات التخزين المتاحة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(event: VolumeListChangedEvent) => void