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