chrome.fileSystem

الوصف

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

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

أماكن إقامة

  • volumeId

    سلسلة

    رقم تعريف المجلّد المطلوب

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

    قيمة منطقية اختيارية

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

Volume

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

أماكن إقامة

  • volumeId

    سلسلة

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

    منطقي

VolumeListChangedEvent

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

أماكن إقامة

الطُرق

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

وعود الإصدار 44 من Chrome والإصدارات الأحدث
chrome.fileSystem.getVolumeList(
  callback?: function,
)

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

المعلمات

  • رد الاتصال

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

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

    (volumes?: Volume[]) => void

المرتجعات

  • Promise&lt;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&lt;boolean&gt;

    الإصدار 117 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

isWritableEntry()

وعود
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

يحدد ما إذا كان هذا الإدخال قابلاً للكتابة أم لا.

المعلمات

  • الإدخال

    إدخال

  • رد الاتصال

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

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

    (isWritable: boolean) => void

    • isWritable

      منطقي

المرتجعات

  • Promise&lt;boolean&gt;

    الإصدار 117 من Chrome أو الإصدارات الأحدث

    لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.

requestFileSystem()

وعود الإصدار 44 من Chrome والإصدارات الأحدث
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&lt;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

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

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

المعلمات