الوصف
يمكنك استخدام واجهة برمجة التطبيقات 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
أماكن إقامة
-
volumeId
سلسلة
رقم تعريف المجلّد المطلوب.
-
قابل للكتابة
منطقية اختيارية
ما إذا كان نظام الملفات المطلوب قابلاً للكتابة أم لا. ويكون الإعداد التلقائي هو القراءة فقط.
Volume
أماكن إقامة
-
volumeId
سلسلة
-
قابل للكتابة
boolean
VolumeListChangedEvent
أماكن إقامة
-
المجلدات
الحجم[]
الطُرق
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()
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()
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
يتم استدعاؤه عند تغيير قائمة مستويات الصوت المتاحة.
المَعلمات
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
callback
على النحو التالي:(event: VolumeListChangedEvent) => void
-
event
-