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

    سلسلة اختيارية

    اسم الملف المقترَح الذي سيتم عرضه للمستخدم كاسم تلقائي للقراءة أو الكتابة هذه خطوة اختيارية.

  • النوع

    ChooseEntryType اختيارية

    نوع الإشعار المطلوب عرضه. القيمة التلقائية هي openFile.

ChooseEntryType

Enum

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

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

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، سيتعذّر تنفيذ هذه المكالمة إذا لم يكن لدى التطبيق إذن "الدليل" ضِمن "نظام الملفات".

المعلمات

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

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

    • entry

      إدخال

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

تعرض هذه الطريقة معرّفًا يمكن تمريره إلى restoreEntry لاستعادة إذن الوصول إلى إدخال ملف معيّن. يتم الاحتفاظ بآخر 500 إدخال تم استخدامه فقط، حيث يتم احتساب طلبات الاحتفاظ بالإدخال واستعادته كاستخدام. إذا كان التطبيق لديه إذن "retainEntries" ضِمن "fileSystem"، يتم الاحتفاظ بالإدخالات إلى أجل غير مسمّى. في ما عدا ذلك، يتم الاحتفاظ بالإدخالات فقط أثناء تشغيل التطبيق وعند إعادة تشغيله.

المعلمات

  • entry

    إدخال

المرتجعات

  • سلسلة

الفعاليات

onVolumeListChanged

Chrome 44 والإصدارات الأحدث
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

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

المعلمات