الوصف
استخدِم واجهة برمجة التطبيقات 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
سلسلة اختيارية
اسم الملف المقترَح الذي سيتم عرضه للمستخدم كاسم تلقائي للقراءة أو الكتابة هذه خطوة اختيارية.
-
النوع
ChooseEntryType اختيارية
نوع الإشعار المطلوب عرضه. القيمة التلقائية هي openFile.
ChooseEntryType
Enum
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
-
entry
المدخل اختياري
-
fileEntries
FileEntry[] اختياري
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
الحصول على مسار العرض الخاص بكائن Entry يستند مسار العرض إلى المسار الكامل للملف أو الدليل في نظام الملفات المحلي، ولكن قد يتم تحسينه ليكون أكثر قابلية للقراءة لأغراض العرض.
المعلمات
-
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، سيتعذّر تنفيذ هذه المكالمة إذا لم يكن لدى التطبيق إذن "الدليل" ضِمن "نظام الملفات".
المعلمات
-
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>
الإصدار 117 من Chrome والإصدارات الأحدثلا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
تعرض هذه الطريقة ما إذا كان يمكن الكتابة في هذا الإدخال أم لا.
المعلمات
-
entry
إدخال
-
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
-
entry
إدخال
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
تعرض هذه الطريقة معرّفًا يمكن تمريره إلى restoreEntry لاستعادة إذن الوصول إلى إدخال ملف معيّن. يتم الاحتفاظ بآخر 500 إدخال تم استخدامه فقط، حيث يتم احتساب طلبات الاحتفاظ بالإدخال واستعادته كاستخدام. إذا كان التطبيق لديه إذن "retainEntries" ضِمن "fileSystem"، يتم الاحتفاظ بالإدخالات إلى أجل غير مسمّى. في ما عدا ذلك، يتم الاحتفاظ بالإدخالات فقط أثناء تشغيل التطبيق وعند إعادة تشغيله.
المعلمات
-
entry
إدخال
المرتجعات
-
سلسلة
الفعاليات
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
يتم استدعاء هذا الإجراء عند تغيير قائمة وحدات التخزين المتاحة.
المعلمات
-
callback
دالة
تظهر المَعلمة
callback
على النحو التالي:(event: VolumeListChangedEvent) => void