chrome.fileSystem

الوصف

يمكنك استخدام واجهة برمجة التطبيقات chrome.fileSystem API لإنشاء نظام الملفات المحلي للمستخدم وقراءته والتنقّل فيه والكتابة فيه. باستخدام واجهة برمجة التطبيقات هذه، يمكن لتطبيقات Chrome القراءة والكتابة في الموقع الجغرافي الذي يختاره المستخدم. على سبيل المثال، يمكن لتطبيق محرِّر النصوص استخدام واجهة برمجة التطبيقات لقراءة المستندات المحلية وكتابتها. يتم إرسال إشعار إلى جميع حالات عدم اكتمال العملية من خلال chrome.runtime.lastError.

الأذونات

fileSystem

مدى توفّر الخدمة

التي تعمل في المقدّمة فقط

الأنواع

AcceptOption

أماكن إقامة

  • الوصف

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

    هذا هو الوصف النصي الاختياري لهذا الخيار. إذا لم يكن متوفرًا، فسيتم إنشاء وصف تلقائيًا؛ وعادةً ما يحتوي على قائمة موسّعة بالإضافات الصالحة (على سبيل المثال، قد يتم توسيع "text/html" إلى "*.html, *.htm").

  • الإضافات

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

    الإضافات التي يجب قبولها، على سبيل المثال "jpg" أو "gif" أو "crx".

  • mimeTypes

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

    أنواع MIME التي يمكن قبولها، على سبيل المثال "image/jpeg" أو "audio/*". يجب أن يحتوي أحد أنواع mimeType أو امتدادات على عنصر صالح واحد على الأقل.

ChooseEntryOptions

أماكن إقامة

  • يقبل

    AcceptOption[] اختيارية

    تمثّل هذه السمة قائمة خيارات القبول الاختيارية لفتح الملف هذا. وسيتم تقديم كل خيار كمجموعة فريدة للمستخدم النهائي.

  • acceptsAllTypes

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

    ما إذا كان سيتم قبول جميع أنواع الملفات، بالإضافة إلى الخيارات المحدّدة في الوسيطة يقبلها. الإعداد التلقائي هو true. إذا لم يتم ضبط حقل "accept" (القبول) أو كان لا يحتوي على إدخالات صالحة، ستتم دائمًا إعادة ضبط هذا الحقل على "true".

  • acceptsMultiple

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

    ما إذا كان سيتم قبول ملفات متعددة. لا يتوافق هذا إلا مع openFile وopenWritableFile. سيتم استدعاء الإجراء الذي يخصّ selectEntry مع إدراج قائمة بالإدخالات في حال ضبط هذه السياسة على "صحيح". وبخلاف ذلك، سيتم استدعاؤه من خلال إدخال واحد.

  • suggestedName

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

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

  • كتابة

    ChooseEntryType اختيارية

    نوع الطلب الذي سيتم عرضه وتكون القيمة التلقائية "openFile".

ChooseEntryType

التعداد

"openFile"
يطلب من المستخدم فتح ملف حالي وعرض FileEntry عند النجاح. بدءًا من إصدار Chrome 31، سيصبح إدخال FileEntry قابلاً للكتابة إذا كان التطبيق حاصلاً على إذن "الكتابة" ضمن "fileSystem"، وبخلاف ذلك، سيكون FileEntry للقراءة فقط.

"openWritableFile"
تطلب من المستخدم فتح ملف حالي وعرض ملف FileEntry قابل للكتابة بنجاح. وسيتعذّر تنفيذ الطلبات التي تستخدم هذا النوع مع ظهور خطأ في وقت التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "fileSystem".

"saveFile"
طلب من المستخدم فتح ملف حالي أو ملف جديد وعرض FileEntry قابل للكتابة عند النجاح. وسيتعذّر تنفيذ الطلبات التي تستخدم هذا النوع مع ظهور خطأ في وقت التشغيل إذا لم يكن لدى التطبيق إذن "الكتابة" ضمن "fileSystem".

"opendirectory"
يطلب من المستخدم فتح دليل ويعرض إدخال الدليل عند النجاح ستفشل الاستدعاءات التي تستخدم هذا النوع مع ظهور خطأ في وقت التشغيل إذا لم يكن لدى التطبيق إذن "الدليل" ضمن "fileSystem". إذا كان التطبيق يحتوي على إذن "الكتابة" ضمن "fileSystem"، ستكون قيمة DirectoryEntry التي تم إرجاعها قابلة للكتابة، وإلا ستكون للقراءة فقط. الميزات الجديدة في Chrome 31

RequestFileSystemOptions

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

أماكن إقامة

  • volumeId

    سلسلة

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

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

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

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

Volume

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

أماكن إقامة

  • volumeId

    سلسلة

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

    boolean

VolumeListChangedEvent

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

أماكن إقامة

الطُرق

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)

اطلب من المستخدم اختيار ملف أو دليل.

المَعلمات

  • الخيارات

    ChooseEntryOptions اختيارية

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (entry?: Entry,fileEntries?: FileEntry[])=>void

    • الإدخال

      الإدخال اختياري

    • fileEntries

      FileEntry[] اختياري

getDisplayPath()

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

احصل على مسار عرض كائن الإدخال. يستند مسار العرض إلى المسار الكامل للملف أو الدليل على نظام الملفات المحلي، ولكن يمكن أن يصبح أكثر قابلية للقراءة لأغراض العرض.

المَعلمات

  • الإدخال

    تذكرة الدخول

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (displayPath: string)=>void

    • displayPath

      سلسلة

المرتجعات

  • وعد<string>

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

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

getVolumeList()

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

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

المَعلمات

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (volumes?: Volume[])=>void

المرتجعات

  • الوعد<الحجم[]|غير محدّد>

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

    لا تتوفّر الوعود إلا في الإصدار 3 من 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

      boolean

المرتجعات

  • Promise<boolean>

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

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

isWritableEntry()

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

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

المَعلمات

  • الإدخال

    تذكرة الدخول

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (isWritable: boolean)=>void

    • isWritable

      boolean

المرتجعات

  • Promise<boolean>

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

    لا تتوفّر الوعود إلا في الإصدار 3 من 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

      FileSystem اختياري

المرتجعات

  • Promise<FileSystem|undefined>

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

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

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)

تعرض إدخال الملف بالمعرّف المحدّد إذا كان من الممكن استعادته. سيفشل هذا الطلب مع ظهور خطأ في وقت التشغيل في الحالات الأخرى.

المَعلمات

  • id

    سلسلة

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (entry: Entry)=>void

    • الإدخال

      تذكرة الدخول

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

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

المَعلمات

  • الإدخال

    تذكرة الدخول

المرتجعات

  • سلسلة

فعاليات

onVolumeListChanged

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

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

المَعلمات