الوصف
استخدِم واجهة برمجة التطبيقات chrome.fileBrowserHandler
لتوسيع نطاق متصفِّح الملفات في نظام التشغيل Chrome. على سبيل المثال، يمكنك استخدام واجهة برمجة التطبيقات هذه للسماح للمستخدمين بتحميل الملفات إلى موقعك الإلكتروني.
الأذونات
fileBrowserHandler
مدى توفّر الخدمة
يظهر متصفِّح ملفات نظام التشغيل ChromeOS عندما يضغط المستخدم على Alt+Shift+M أو يوصِّل جهاز تخزين خارجي، مثل بطاقة SD أو مفتاح USB أو محرّك أقراص خارجي أو كاميرا رقمية. إلى جانب عرض الملفات على الأجهزة الخارجية، يمكن لمتصفّح الملفات أيضًا عرض الملفات التي حفظها المستخدم سابقًا على النظام.
عندما يختار المستخدم ملفًا واحدًا أو أكثر، يضيف متصفّح الملفات أزرارًا تمثّل المعالجات الصالحة لهذه الملفات. على سبيل المثال، في لقطة الشاشة التالية، يؤدي اختيار ملف بلاحقة ".png" إلى ظهور الزر "حفظ في المعرض" الذي يمكن للمستخدم النقر عليه.
البيان
يجب تعريف إذن "fileBrowserHandler" في بيان الإضافة، ويجب استخدام الحقل "file_browser_processs" لتسجيل الإضافة كمعالج لنوع ملف واحد على الأقل. يجب عليك أيضًا توفير رمز بحجم 16x16 ليتم عرضه على الزر. مثال:
{
"name": "My extension",
...
"file_browser_handlers": [
{
"id": "upload",
"default_title": "Save to Gallery", // What the button will display
"file_filters": [
"filesystem:*.jpg", // To match all files, use "filesystem:*.*"
"filesystem:*.jpeg",
"filesystem:*.png"
]
}
],
"permissions" : [
"fileBrowserHandler"
],
"icons": {
"16": "icon16.png",
"48": "icon48.png",
"128": "icon128.png"
},
...
}
تنفيذ معالج متصفح الملفات
لاستخدام واجهة برمجة التطبيقات هذه، عليك تنفيذ دالة تعالج حدث onExecute
لـ chrome.fileBrowserHandler
. سيتم استدعاء الدالة كلما نقر المستخدم على الزر الذي يمثل معالج متصفح الملفات. في وظيفتك، استخدِم File System API للوصول إلى محتوى الملف. يُرجى الاطّلاع على المثال أدناه:
chrome.fileBrowserHandler.onExecute.addListener(async (id, details) => {
if (id !== 'upload') {
return; // check if you have multiple file_browser_handlers
}
for (const entry of detail.entries) {
// the FileSystemFileEntry doesn't have a Promise API, wrap in one
const file = await new Promise((resolve, reject) => {
entry.file(resolve, reject);
});
const buffer = await file.arrayBuffer();
// do something with buffer
}
});
تم تمرير وسيطتين لمعالج الحدث:
- id
- قيمة "id" من ملف البيان إذا نفّذت الإضافة معالِجات متعددة، يمكنك التحقّق من قيمة المعرّف لمعرفة المعالج الذي تم تشغيله.
- التفاصيل
- عنصر يصف الحدث. يمكنك الحصول على الملف أو الملفات التي اختارها المستخدم من الحقل
entries
لهذا العنصر، وهو مصفوفة منFileSystemFileEntry
عناصر.
الأنواع
FileHandlerExecuteEventDetails
حمولة تفاصيل الحدث لحدث fileBrowserHandler.onExecute.
أماكن إقامة
-
الإدخالات
أي[]
مصفوفة من حالات الإدخال التي تمثل الملفات المستهدفة لهذا الإجراء (يتم تحديدها في متصفِّح ملفات نظام التشغيل ChromeOS).
-
tab_id
الرقم اختياري
رقم تعريف علامة التبويب التي استخدمت هذا الحدث تكون أرقام تعريف علامات التبويب فريدة ضمن جلسة متصفّح.
فعاليات
onExecute
chrome.fileBrowserHandler.onExecute.addListener(
callback: function,
)
يتم تنشيطها عند تنفيذ إجراء نظام الملفات من متصفِّح الملفات في نظام التشغيل ChromeOS.
المَعلمات
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
callback
على النحو التالي:(id: string, details: FileHandlerExecuteEventDetails) => void
-
id
سلسلة
-
التفاصيل
-