chrome.fileSystem

الوصف

استخدِم واجهة برمجة التطبيقات 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

Chrome 44 والإصدارات الأحدث

الخصائص

  • volumeId

    سلسلة

    معرّف وحدة التخزين المطلوبة.

  • قابل للكتابة

    boolean اختياري

    تحديد ما إذا كان يجب أن يكون نظام الملفات المطلوب قابلاً للكتابة القيمة التلقائية هي للقراءة فقط.

Volume

Chrome 44 والإصدارات الأحدث

الخصائص

  • volumeId

    سلسلة

  • قابل للكتابة

    قيمة منطقية

VolumeListChangedEvent

Chrome 44 والإصدارات الأحدث

الخصائص

الطُرق

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()

Promise Chrome 44 والإصدارات الأحدث
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

تعرض هذه السمة قائمة بالمجلدات المتاحة لـ requestFileSystem(). يجب الحصول على إذن البيان "fileSystem": {"requestFileSystem"}. متاحة فقط لتطبيقات Kiosk التي تعمل في جلسة Kiosk. في حال حدوث خطأ، ستكون قيمة volumes غير محدّدة، وسيتم ضبط قيمة chrome.runtime.lastError.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (volumes?: Volume[]) => void

    • المجلدات

      Volume[] اختياري

المرتجعات

  • 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()

Promise Chrome 44 والإصدارات الأحدث
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 44 والإصدارات الأحدث
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

يتم استدعاؤها عند تغيير قائمة وحدات التخزين المتاحة.

المعلمات