توضیحات
از API مربوط به chrome.fileSystemProvider برای ایجاد سیستمهای فایلی استفاده کنید که از طریق مدیریت فایل در سیستمعامل کروم قابل دسترسی باشند.
مجوزها
fileSystemProviderدر دسترس بودن
مانیفست
برای استفاده از رابط برنامهنویسی کاربردی ارائهدهنده سیستم فایل (File System Provider API)، باید مجوز و بخش "fileSystemProvider" را در فایل مانیفست تعریف کنید. برای مثال:
{
"name": "My extension",
...
"permissions": [
"fileSystemProvider"
],
...
"file_system_provider_capabilities": {
"configurable": true,
"watchable": false,
"multiple_mounts": true,
"source": "network"
},
...
}
بخش file_system_provider باید به صورت زیر تعریف شود:
-
configurable(بولی) - اختیاری - اینکه آیا پیکربندی از طریق onConfigureRequested پشتیبانی میشود یا خیر. به طور پیشفرض: false.
-
multiple_mounts(بولی) - اختیاری - اینکه آیا چندین (بیش از یک) سیستم فایل نصب شده پشتیبانی میشوند یا خیر. به طور پیشفرض: نادرست.
-
watchable(بولی) - اختیاری - اینکه آیا تنظیم ناظران و اطلاعرسانی در مورد تغییرات پشتیبانی میشود یا خیر. به طور پیشفرض: نادرست.
-
source(تعدادی از "فایل"، "دستگاه" یا "شبکه") - مورد نیاز - منبع داده برای سیستم فایل های نصب شده.
برنامه Files از اطلاعات فوق برای رندر کردن مناسب عناصر رابط کاربری مرتبط استفاده میکند. برای مثال، اگر configurable روی true تنظیم شده باشد، یک آیتم منو برای پیکربندی volumeها رندر میشود. به طور مشابه، اگر multiple_mounts روی true تنظیم شده باشد، برنامه Files اجازه میدهد بیش از یک نقطه اتصال از رابط کاربری اضافه کند. اگر watchable روی false تنظیم شده باشد، یک دکمه refresh رندر میشود. توجه داشته باشید که در صورت امکان، باید پشتیبانی از watcherها را اضافه کنید تا تغییرات در سیستم فایل بلافاصله و به طور خودکار منعکس شوند.
نمای کلی
رابط برنامهنویسی کاربردی ارائهدهنده سیستم فایل (File System Provider API) به افزونهها اجازه میدهد تا از سیستمهای فایل مجازی پشتیبانی کنند، که در مدیریت فایل در ChromeOS در دسترس هستند. موارد استفاده شامل خارج کردن آرشیوها از حالت فشرده و دسترسی به فایلها در یک سرویس ابری غیر از Drive است.
نصب سیستم فایلها
ارائه افزونهها میتواند محتویات سیستم فایل را از یک منبع خارجی (مانند یک سرور از راه دور یا یک دستگاه USB) یا با استفاده از یک فایل محلی (مانند یک بایگانی) به عنوان ورودی آن فراهم کند.
برای نوشتن سیستمهای فایلی که کنترلکنندههای فایل هستند (منبع "file" است)، ارائهدهنده باید یک برنامهی بستهبندیشده باشد، زیرا رویداد onLaunched برای افزونهها در دسترس نیست.
اگر منبع شبکه یا یک دستگاه باشد، سیستم فایل باید هنگام فراخوانی رویداد onMountRequested نصب شود.
| منبع دادههای سیستم فایل | نقطه ورود |
|---|---|
"file" | فقط برای برنامههای بستهبندیشده موجود است. |
"device" یا "network" | onMountدرخواست شده |
پیکربندی سیستمهای فایل
سیستمهای فایل ارائه شده پس از نصب میتوانند از طریق رویداد onConfigureRequested پیکربندی شوند. این رویداد به ویژه برای سیستمهای فایلی که محتوا را از طریق شبکه ارائه میدهند، به منظور تنظیم اعتبارنامههای مناسب مفید است. مدیریت این رویداد اختیاری است.
چرخه زندگی
سیستمهای فایل ارائه شده پس از نصب، توسط کروم به خاطر سپرده میشوند و پس از راهاندازی مجدد یا ریاستارت، به طور خودکار دوباره نصب میشوند. از این رو، هنگامی که یک سیستم فایل توسط یک افزونه ارائه شده نصب میشود، تا زمانی که افزونه از حالت بارگذاری خارج نشود یا افزونه متد unmount را فراخوانی کند، باقی میماند.
انواع
AbortRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست عملیات
شماره
شناسه درخواستی که قرار است لغو شود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
Action
خواص
- شناسه
رشته
شناسهی عمل. هر رشته یا
CommonActionIdبرای اعمال رایج. - عنوان
رشته اختیاری
عنوان اقدام. ممکن است برای اقدامات رایج نادیده گرفته شود.
AddWatcherRequestedOptions
خواص
- مسیر ورودی
رشته
مسیر ورودی که باید مشاهده شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- بازگشتی
بولی
اینکه آیا مشاهده باید تمام ورودیهای فرزند را به صورت بازگشتی شامل شود یا خیر. این میتواند فقط برای دایرکتوریها درست باشد.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
Change
خواص
- تغییر نوع
نوع تغییری که در ورودی رخ داده است.
- اطلاعات فایل ابری
CloudFileInfo اختیاری است
کروم ۱۲۵+اطلاعات مربوط به فایل، در صورتی که توسط یک سیستم فایل ابری پشتیبانی شود.
- مسیر ورودی
رشته
مسیر ورودی تغییر یافته.
ChangeType
نوع تغییر شناسایی شده در دایرکتوری مشاهده شده.
شمارشی
«تغییر یافته» «حذف شده»
CloseFileRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست باز
شماره
شناسه درخواستی که برای باز کردن فایل استفاده میشود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
CloudFileInfo
خواص
- برچسب نسخه
رشته اختیاری
برچسبی که نسخه فایل را نشان میدهد.
CloudIdentifier
خواص
- شناسه
رشته
شناسهی ارائهدهنده برای فایل/دایرکتوری داده شده.
- نام ارائه دهنده
رشته
شناسه ارائهدهنده فضای ذخیرهسازی ابری (مثلاً 'drive.google.com').
CommonActionId
فهرست اقدامات رایج. "SHARE" برای اشتراکگذاری فایلها با دیگران است. "SAVE_FOR_OFFLINE" برای پین کردن (ذخیره برای دسترسی آفلاین). "OFFLINE_NOT_NECESSARY" برای اطلاعرسانی مبنی بر اینکه دیگر نیازی به ذخیره فایل برای دسترسی آفلاین نیست. توسط onGetActionsRequested و onExecuteActionRequested استفاده میشود.
شمارشی
«ذخیره_برای_آفلاین» «آفلاین_ضروری_نیست» «اشتراکگذاری»
ConfigureRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایلی که باید پیکربندی شود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
CopyEntryRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
- مسیر منبع
رشته
مسیر منبع ورودی که قرار است کپی شود.
- مسیر هدف
رشته
مسیر مقصد برای عملیات کپی.
CreateDirectoryRequestedOptions
خواص
- مسیر دایرکتوری
رشته
مسیر دایرکتوری که قرار است ایجاد شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- بازگشتی
بولی
اینکه آیا عملیات بازگشتی است یا خیر (فقط برای دایرکتوریها).
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
CreateFileRequestedOptions
خواص
- مسیر فایل
رشته
مسیر فایلی که قرار است ایجاد شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
DeleteEntryRequestedOptions
خواص
- مسیر ورودی
رشته
مسیر ورودی که قرار است حذف شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- بازگشتی
بولی
اینکه آیا عملیات بازگشتی است یا خیر (فقط برای دایرکتوریها).
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
EntryMetadata
خواص
- اطلاعات فایل ابری
CloudFileInfo اختیاری است
کروم ۱۲۵+اطلاعاتی که یک فایل خاص را در سیستم فایل ابری اصلی مشخص میکند. در صورت درخواست در
optionsباید ارائه شود و فایل توسط فضای ذخیرهسازی ابری پشتیبانی میشود. - شناسه ابر
شناسه ابری ( اختیاری)
کروم ۱۱۷+نمایش فضای ذخیرهسازی ابری این ورودی. در صورت درخواست در
optionsو پشتیبانی فایل توسط فضای ذخیرهسازی ابری، باید ارائه شود. برای فایلهای محلی که توسط فضای ذخیرهسازی ابری پشتیبانی نمیشوند، هنگام درخواست باید تعریف نشده باشد. - ایس دایرکتور
بولی اختیاری
اگر یک دایرکتوری باشد، صحیح است. در صورت درخواست در
optionsباید ارائه شود. - نوع مایم
رشته اختیاری
نوع MIME برای ورودی. همیشه اختیاری است، اما در صورت درخواست در
optionsباید ارائه شود. - زمان اصلاح
تاریخ اختیاری
آخرین زمان تغییر این مطلب. در صورت درخواست در
options، باید ارائه شود. - نام
رشته اختیاری
نام این ورودی (نه نام مسیر کامل). نباید شامل '/' باشد. برای root باید خالی باشد. در صورت درخواست در
optionsباید ارائه شود. - اندازه
شماره اختیاری
حجم فایل به بایت. در صورت درخواست در
options، باید ارائه شود. - تصویر بندانگشتی
رشته اختیاری
تصویر بندانگشتی به عنوان یک URI داده در قالب PNG، JPEG یا WEBP، حداکثر با حجم ۳۲ کیلوبایت. اختیاری است، اما فقط در صورت درخواست صریح توسط رویداد
onGetMetadataRequestedقابل ارائه است.
ExecuteActionRequestedOptions
خواص
- شناسه اقدام
رشته
شناسه عملی که قرار است اجرا شود.
- مسیرهای ورودی
رشته[]
کروم ۴۷+مجموعه مسیرهای ورودیهایی که برای عمل مورد استفاده قرار میگیرند.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
FileSystemInfo
خواص
- نام نمایش
رشته
یک نام قابل خواندن توسط انسان برای سیستم فایل.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل.
- فایلهای باز
فایل باز شده []
فهرست فایلهای باز شدهی فعلی.
- openFilesLimit
شماره
حداکثر تعداد فایلهایی که میتوانند همزمان باز شوند. اگر 0 باشد، محدود نیست.
- پشتیبانی میکندNotifyTag
بولی اختیاری
کروم ۴۵+اینکه آیا سیستم فایل از فیلد
tagبرای مشاهده دایرکتوریها پشتیبانی میکند یا خیر. - ناظران
ناظر []
کروم ۴۵+فهرست ناظران.
- قابل نوشتن
بولی
اینکه آیا سیستم فایل از عملیاتی که ممکن است محتوای سیستم فایل را تغییر دهند (مانند ایجاد، حذف یا نوشتن در فایلها) پشتیبانی میکند یا خیر.
GetActionsRequestedOptions
خواص
- مسیرهای ورودی
رشته[]
کروم ۴۷+فهرست مسیرهای ورودی برای فهرست اقدامات.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
GetMetadataRequestedOptions
خواص
- اطلاعات فایل ابری
بولی
کروم ۱۲۵+اگر مقدار
cloudFileInfoدرخواست شود، رویtrueتنظیم میشود. - شناسه ابر
بولی
کروم ۱۱۷+اگر مقدار
cloudIdentifierدرخواست شود، رویtrueتنظیم میشود. - مسیر ورودی
رشته
مسیر ورودی برای دریافت فرادادههای مربوط به آن.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- ایس دایرکتور
بولی
کروم ۴۹+اگر مقدار
is_directoryدرخواست شود، رویtrueتنظیم میشود. - نوع مایم
بولی
کروم ۴۹+اگر مقدار
mimeTypeدرخواست شود، رویtrueتنظیم میشود. - زمان اصلاح
بولی
کروم ۴۹+اگر مقدار
modificationTimeدرخواست شود، رویtrueتنظیم میشود. - نام
بولی
کروم ۴۹+اگر مقدار
nameدرخواست شود، رویtrueتنظیم میشود. - شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
- اندازه
بولی
کروم ۴۹+اگر مقدار
sizeدرخواست شود، رویtrueتنظیم میشود. - تصویر بندانگشتی
بولی
اگر مقدار
thumbnailدرخواست شود، رویtrueتنظیم میشود.
MountOptions
خواص
- نام نمایش
رشته
یک نام قابل خواندن توسط انسان برای سیستم فایل.
- شناسه سیستم فایل
رشته
شناسه رشتهای سیستم فایل. باید برای هر پسوند منحصر به فرد باشد.
- openFilesLimit
شماره اختیاری
حداکثر تعداد فایلهایی که میتوانند همزمان باز شوند. اگر مشخص نشده باشد، یا 0 باشد، محدود نیست.
- مداوم
بولی اختیاری
کروم ۶۴+اینکه آیا چارچوب باید سیستم فایل را در جلسه ورود بعدی از سر بگیرد یا خیر. به طور پیشفرض صحیح است.
- پشتیبانی میکندNotifyTag
بولی اختیاری
کروم ۴۵+اینکه آیا سیستم فایل از فیلد
tagبرای دایرکتوریهای مشاهدهشده پشتیبانی میکند یا خیر. - قابل نوشتن
بولی اختیاری
اینکه آیا سیستم فایل از عملیاتی که ممکن است محتوای سیستم فایل را تغییر دهند (مانند ایجاد، حذف یا نوشتن در فایلها) پشتیبانی میکند یا خیر.
MoveEntryRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
- مسیر منبع
رشته
مسیر منبع ورودی که قرار است به مکان جدید منتقل شود.
- مسیر هدف
رشته
مسیر مقصد برای عملیات کپی.
NotifyOptions
خواص
- تغییر نوع
نوع تغییری که برای ورودی مشاهده شده رخ داده است. اگر حذف شده باشد، ورودی مشاهده شده به طور خودکار از لیست ورودیهای مشاهده شده حذف میشود.
- تغییرات
تغییر [] اختیاری
فهرست تغییرات ورودیهای درون دایرکتوری مشاهدهشده (شامل خود ورودی)
- شناسه سیستم فایل
رشته
شناسهی سیستم فایل مربوط به این تغییر.
- مسیر مشاهدهشده
رشته
مسیر ورودی مشاهده شده.
- بازگشتی
بولی
نحوهی ورود مشاهدهشده.
- برچسب
رشته اختیاری
برچسب اعلان. در صورتی که سیستم فایل با گزینه
supportsNotifyTagنصب شده باشد، الزامی است. توجه داشته باشید که این پرچم برای ارائه اعلانهایی در مورد تغییراتی که حتی هنگام خاموش شدن سیستم تغییر کردهاند، ضروری است.
OpenedFile
خواص
- مسیر فایل
رشته
مسیر فایل باز شده.
- حالت
اینکه آیا فایل برای خواندن یا نوشتن باز شده است یا خیر.
- شناسه درخواست باز
شماره
یک شناسه درخواست که توسط درخواستهای متوالی خواندن/نوشتن و بستن استفاده میشود.
OpenFileMode
روشی برای باز کردن فایل. توسط onOpenFileRequested استفاده میشود.
شمارشی
«بخوان» «بنویس»
OpenFileRequestedOptions
خواص
- مسیر فایل
رشته
مسیر فایلی که قرار است باز شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- حالت
اینکه آیا فایل برای خواندن یا نوشتن استفاده خواهد شد یا خیر.
- شناسه درخواست
شماره
یک شناسه درخواست که توسط درخواستهای متوالی خواندن/نوشتن و بستن استفاده خواهد شد.
ProviderError
کدهای خطایی که توسط افزونههای ارائه دهنده در پاسخ به درخواستها و همچنین در صورت بروز خطا هنگام فراخوانی متدهای API استفاده میشوند. برای موفقیت، باید "OK" استفاده شود.
شمارشی
«باشه» «شکست خورد» "در حال استفاده" «وجود دارد» "یافت نشد" «دسترسی_ممنوع» «خیلیها باز شدهاند» "بدون_حافظه" "بدون_فاصله" "نه_دایرکتوری" "عملیات_نامعتبر" «امنیت» «سقط» "فایل_نیست" "خالی_نیست" "آدرس اینترنتی نامعتبر" "آی او"
ReadDirectoryRequestedOptions
خواص
- مسیر دایرکتوری
رشته
مسیر دایرکتوری که محتوای آن درخواست شده است.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- ایس دایرکتور
بولی
کروم ۴۹+اگر مقدار
is_directoryدرخواست شود، رویtrueتنظیم میشود. - نوع مایم
بولی
کروم ۴۹+اگر مقدار
mimeTypeدرخواست شود، رویtrueتنظیم میشود. - زمان اصلاح
بولی
کروم ۴۹+اگر مقدار
modificationTimeدرخواست شود، رویtrueتنظیم میشود. - نام
بولی
کروم ۴۹+اگر مقدار
nameدرخواست شود، رویtrueتنظیم میشود. - شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
- اندازه
بولی
کروم ۴۹+اگر مقدار
sizeدرخواست شود، رویtrueتنظیم میشود. - تصویر بندانگشتی
بولی
کروم ۴۹+اگر مقدار
thumbnailدرخواست شود، رویtrueتنظیم میشود.
ReadFileRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- طول
شماره
تعداد بایتهایی که باید برگردانده شوند.
- جبران
شماره
موقعیتی را در فایل (بر حسب بایت) که قرار است خواندن از آن شروع شود، تعیین کنید.
- شناسه درخواست باز
شماره
شناسه درخواستی که برای باز کردن فایل استفاده میشود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
RemoveWatcherRequestedOptions
خواص
- مسیر ورودی
رشته
مسیر ورودیِ تحت نظر.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- بازگشتی
بولی
حالت ناظر.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
TruncateRequestedOptions
خواص
- مسیر فایل
رشته
مسیر فایلی که قرار است کوتاه شود.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- طول
شماره
تعداد بایتهایی که پس از اتمام عملیات باید حفظ شوند.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
UnmountOptions
خواص
- شناسه سیستم فایل
رشته
شناسهی سیستم فایلی که قرار است از حالت مانت خارج شود.
UnmountRequestedOptions
خواص
- شناسه سیستم فایل
رشته
شناسهی سیستم فایلی که قرار است از حالت مانت خارج شود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
Watcher
خواص
- مسیر ورودی
رشته
مسیر ورود مشاهده میشود.
- آخرین برچسب
رشته اختیاری
برچسبی که آخرین اعلان برای ناظر استفاده کرده است.
- بازگشتی
بولی
اینکه آیا عملیات نظارت باید شامل تمام ورودیهای فرزند به صورت بازگشتی باشد یا خیر. این مقدار فقط برای دایرکتوریها میتواند درست باشد.
WriteFileRequestedOptions
خواص
- دادهها
آرایه بافر
بافر بایتهایی که قرار است در فایل نوشته شوند.
- شناسه سیستم فایل
رشته
شناسه سیستم فایل مربوط به این عملیات.
- جبران
شماره
موقعیتی را در فایل (بر حسب بایت) تعیین کنید تا نوشتن بایتها از آنجا شروع شود.
- شناسه درخواست باز
شماره
شناسه درخواستی که برای باز کردن فایل استفاده میشود.
- شناسه درخواست
شماره
شناسه منحصر به فرد این درخواست.
روشها
get()
chrome.fileSystemProvider.get(
fileSystemId: string,
callback?: function,
): Promise<FileSystemInfo>
اطلاعات مربوط به یک سیستم فایل را با استفاده از fileSystemId ارسالی برمیگرداند.
پارامترها
- شناسه سیستم فایل
رشته
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(fileSystem: FileSystemInfo) => void
- سیستم فایل
بازگشتها
قول < اطلاعات سیستم فایل >
کروم ۹۶+فراخوانی مجدد برای دریافت نتیجه تابع
get.Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
getAll()
chrome.fileSystemProvider.getAll(
callback?: function,
): Promise<FileSystemInfo[]>
تمام سیستمهای فایل نصبشده توسط افزونه را برمیگرداند.
پارامترها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:(fileSystems: FileSystemInfo[]) => void
- سیستمهای فایل
بازگشتها
قول < اطلاعات سیستم فایل []>
کروم ۹۶+فراخوانی مجدد برای دریافت نتیجه تابع
getAll.Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
mount()
chrome.fileSystemProvider.mount(
options: MountOptions,
callback?: function,
): Promise<void>
یک سیستم فایل را با fileSystemId و displayName داده شده، mount میکند. displayName در پنل سمت چپ برنامه Files نمایش داده میشود. displayName میتواند شامل هر کاراکتری از جمله '/' باشد، اما نمیتواند یک رشته خالی باشد. displayName باید توصیفی باشد اما لازم نیست منحصر به فرد باشد. fileSystemId نباید یک رشته خالی باشد.
بسته به نوع سیستم فایلی که نصب میشود، گزینه source باید به طور مناسب تنظیم شود.
در صورت بروز خطا، runtime.lastError با کد خطای مربوطه تنظیم میشود.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+یک فراخوانی عمومی برای نمایش موفقیت یا شکست.
Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
notify()
chrome.fileSystemProvider.notify(
options: NotifyOptions,
callback?: function,
): Promise<void>
در حالت recursive ، در مورد تغییرات در دایرکتوری تحت نظارت در observedPath اطلاعرسانی میکند. اگر سیستم فایل با supportsNotifyTag نصب شده باشد، باید tag ارائه شود و همه تغییرات از آخرین اعلان، حتی اگر سیستم خاموش شده باشد، همیشه گزارش میشوند. آخرین برچسب را میتوان با getAll دریافت کرد.
برای استفاده، گزینه file_system_provider.notify manifest باید روی true تنظیم شود.
مقدار tag میتواند هر رشتهای باشد که در هر فراخوانی منحصر به فرد باشد، بنابراین میتوان آخرین اعلان ثبت شده را شناسایی کرد. به عنوان مثال، اگر افزونه ارائه دهنده پس از راهاندازی مجدد شروع به کار کند و برچسب آخرین اعلان ثبت شده برابر با "123" باشد، باید برای تمام تغییراتی که از زمان تغییر با برچسب "123" رخ داده است، notify را فراخوانی کند. این نمیتواند یک رشته خالی باشد.
همه ارائهدهندگان قادر به ارائه برچسب نیستند، اما اگر سیستم فایل دارای گزارش تغییرات باشد، آن برچسب میتواند مثلاً شماره تغییر یا شماره ویرایش باشد.
توجه داشته باشید که اگر یک دایرکتوری والد حذف شود، تمام ورودیهای زیرمجموعه نیز حذف میشوند و اگر تحت نظر باشند، API باید از این موضوع مطلع شود. همچنین، اگر یک دایرکتوری تغییر نام دهد، در واقع تمام ورودیهای زیرمجموعه حذف میشوند، زیرا دیگر هیچ ورودی در مسیر اصلی آنها وجود ندارد.
در صورت بروز خطا، runtime.lastError کد خطای مربوطه را تنظیم میکند.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+یک فراخوانی عمومی برای نمایش موفقیت یا شکست.
Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
unmount()
chrome.fileSystemProvider.unmount(
options: UnmountOptions,
callback?: function,
): Promise<void>
یک سیستم فایل را با fileSystemId داده شده، unmount میکند. این تابع باید پس از فراخوانی onUnmountRequested فراخوانی شود. همچنین، افزونهی ارائه دهنده میتواند در صورت عدم درخواست (مثلاً در صورت قطع اتصال یا خطای فایل) تصمیم به unmount کردن بگیرد.
در صورت بروز خطا، runtime.lastError با کد خطای مربوطه تنظیم میشود.
پارامترها
- گزینهها
- تماس برگشتی
تابع اختیاری
پارامتر
callbackبه شکل زیر است:() => void
بازگشتها
قول<void>
کروم ۹۶+یک فراخوانی عمومی برای نمایش موفقیت یا شکست.
Promiseها فقط برای Manifest V3 و نسخههای بعدی پشتیبانی میشوند، سایر پلتفرمها باید از callbackها استفاده کنند.
رویدادها
onAbortRequested
chrome.fileSystemProvider.onAbortRequested.addListener(
callback: function,
)
هنگام درخواست لغو عملیاتی با operationRequestId رخ میدهد. عملیاتی که با operationRequestId اجرا میشود باید فوراً متوقف شود و successCallback مربوط به این درخواست لغو اجرا شود. اگر لغو عملیات با شکست مواجه شود، باید errorCallback فراخوانی شود. توجه داشته باشید که فراخوانیهای مجدد عملیات لغو شده نباید فراخوانی شوند، زیرا نادیده گرفته میشوند. علیرغم فراخوانی errorCallback ، ممکن است درخواست به اجبار لغو شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: AbortRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onAddWatcherRequested
chrome.fileSystemProvider.onAddWatcherRequested.addListener(
callback: function,
)
هنگام درخواست تنظیم یک ناظر دایرکتوری جدید، رخ میدهد. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: AddWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onCloseFileRequested
chrome.fileSystemProvider.onCloseFileRequested.addListener(
callback: function,
)
هنگام باز کردن فایلی که قبلاً با openRequestId باز شده است و درخواست بسته شدن آن میشود، رخ میدهد.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: CloseFileRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onConfigureRequested
chrome.fileSystemProvider.onConfigureRequested.addListener(
callback: function,
)
هنگام نمایش یک کادر محاورهای پیکربندی برای fileSystemId درخواست میشود. اگر مدیریت شود، گزینه file_system_provider.configurable manfiest باید روی true تنظیم شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: ConfigureRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onCopyEntryRequested
chrome.fileSystemProvider.onCopyEntryRequested.addListener(
callback: function,
)
هنگام درخواست کپی کردن یک ورودی (به صورت بازگشتی در صورت وجود یک دایرکتوری) رخ میدهد. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: CopyEntryRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onCreateDirectoryRequested
chrome.fileSystemProvider.onCreateDirectoryRequested.addListener(
callback: function,
)
هنگام درخواست ایجاد یک دایرکتوری، این خطا رخ میدهد. اگر دایرکتوری هدف از قبل وجود داشته باشد، عملیات باید با خطای EXISTS شکست بخورد. اگر recursive درست باشد، باید تمام دایرکتوریهای مفقود شده در مسیر دایرکتوری ایجاد شوند.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: CreateDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onCreateFileRequested
chrome.fileSystemProvider.onCreateFileRequested.addListener(
callback: function,
)
هنگام ایجاد فایل درخواست میشود. اگر فایل از قبل وجود داشته باشد، باید errorCallback با کد خطای "EXISTS" فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: CreateFileRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onDeleteEntryRequested
chrome.fileSystemProvider.onDeleteEntryRequested.addListener(
callback: function,
)
هنگام درخواست حذف یک ورودی، این رویداد رخ میدهد. اگر recursive درست باشد و ورودی یک دایرکتوری باشد، تمام ورودیهای داخل آن نیز باید به صورت بازگشتی حذف شوند.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: DeleteEntryRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onExecuteActionRequested
chrome.fileSystemProvider.onExecuteActionRequested.addListener(
callback: function,
)
هنگام اجرای یک عمل برای مجموعهای از فایلها یا دایرکتوریها، درخواست میشود. پس از تکمیل عمل، باید successCallback فراخوانی شود. در صورت بروز خطا، errorCallback باید فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: ExecuteActionRequestedOptions, successCallback: function, errorCallback: function) => void
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onGetActionsRequested
chrome.fileSystemProvider.onGetActionsRequested.addListener(
callback: function,
)
زمانی که لیستی از اقدامات برای مجموعهای از فایلها یا دایرکتوریها در entryPaths درخواست میشود، صادر میشود. تمام اقدامات برگردانده شده باید برای هر ورودی قابل اجرا باشند. اگر چنین اقداماتی وجود نداشته باشد، باید یک آرایه خالی برگردانده شود. اقدامات باید با فراخوانی successCallback برگردانده شوند. در صورت بروز خطا، errorCallback باید فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: GetActionsRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:(actions: Action[]) => void
- اقدامات
اقدام []
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onGetMetadataRequested
chrome.fileSystemProvider.onGetMetadataRequested.addListener(
callback: function,
)
زمانی رخ میدهد که فرادادههای یک فایل یا دایرکتوری در entryPath درخواست شود. فرادادهها باید با فراخوانی successCallback بازگردانده شوند. در صورت بروز خطا، errorCallback باید فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: GetMetadataRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:(metadata: EntryMetadata) => void
- فراداده
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onMountRequested
chrome.fileSystemProvider.onMountRequested.addListener(
callback: function,
)
هنگام نمایش کادر محاورهای برای نصب یک سیستم فایل جدید، درخواست میشود. اگر افزونه/برنامه یک کنترلکننده فایل باشد، این رویداد نباید مدیریت شود. در عوض app.runtime.onLaunched باید مدیریت شود تا سیستمهای فایل جدید هنگام باز شدن یک فایل، نصب شوند. برای چندین نصب، گزینه manifest مربوط به file_system_provider.multiple_mounts باید روی true تنظیم شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(successCallback: function, errorCallback: function) => void
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onMoveEntryRequested
chrome.fileSystemProvider.onMoveEntryRequested.addListener(
callback: function,
)
هنگام درخواست جابجایی یک ورودی (به صورت بازگشتی در صورت وجود یک دایرکتوری) رخ میدهد. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: MoveEntryRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onOpenFileRequested
chrome.fileSystemProvider.onOpenFileRequested.addListener(
callback: function,
)
هنگام باز کردن فایلی در filePath درخواست میشود. اگر فایل وجود نداشته باشد، عملیات با شکست مواجه میشود. حداکثر تعداد فایلهای باز شده به طور همزمان را میتوان با MountOptions مشخص کرد.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: OpenFileRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:(metadata?: EntryMetadata) => void
- فراداده
ورودیفراداده اختیاری
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onReadDirectoryRequested
chrome.fileSystemProvider.onReadDirectoryRequested.addListener(
callback: function,
)
زمانی که محتوای یک دایرکتوری در directoryPath درخواست میشود، رخ میدهد. نتایج باید به صورت تکه تکه و با چندین بار فراخوانی successCallback بازگردانده شوند. در صورت بروز خطا، errorCallback باید فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: ReadDirectoryRequestedOptions, successCallback: function, errorCallback: function) => void
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:(entries: EntryMetadata[], hasMore: boolean) => void
- نوشتهها
ورودیفراداده []
- بیشتر دارد
بولی
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onReadFileRequested
chrome.fileSystemProvider.onReadFileRequested.addListener(
callback: function,
)
هنگام درخواست خواندن محتوای فایلی که قبلاً با openRequestId باز شده است، رخ میدهد. نتایج باید با چندین بار فراخوانی successCallback به صورت تکه تکه بازگردانده شوند. در صورت بروز خطا، errorCallback باید فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: ReadFileRequestedOptions, successCallback: function, errorCallback: function) => void
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:(data: ArrayBuffer, hasMore: boolean) => void
- دادهها
آرایه بافر
- بیشتر دارد
بولی
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onRemoveWatcherRequested
chrome.fileSystemProvider.onRemoveWatcherRequested.addListener(
callback: function,
)
زمانی رخ میدهد که watcher باید حذف شود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: RemoveWatcherRequestedOptions, successCallback: function, errorCallback: function) => void
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onTruncateRequested
chrome.fileSystemProvider.onTruncateRequested.addListener(
callback: function,
)
زمانی رخ میدهد که درخواست کوتاه کردن یک فایل به طول دلخواه مطرح میشود. اگر خطایی رخ دهد، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: TruncateRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onUnmountRequested
chrome.fileSystemProvider.onUnmountRequested.addListener(
callback: function,
)
هنگام درخواست unmounting برای سیستم فایل با شناسه fileSystemId ، رخ میدهد. در پاسخ، متد unmount API باید همراه با successCallback فراخوانی شود. اگر unmounting امکانپذیر نباشد (مثلاً به دلیل یک عملیات در حال انتظار)، باید errorCallback فراخوانی شود.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: UnmountRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا
onWriteFileRequested
chrome.fileSystemProvider.onWriteFileRequested.addListener(
callback: function,
)
هنگام درخواست نوشتن محتوا در فایلی که قبلاً با openRequestId باز شده است، رخ میدهد.
پارامترها
- تماس برگشتی
تابع
پارامتر
callbackبه شکل زیر است:(options: WriteFileRequestedOptions, successCallback: function, errorCallback: function) => void
- گزینهها
- successCallback
تابع
پارامتر
successCallbackبه شکل زیر است:() => void
- خطاپاسخ به تماس
تابع
پارامتر
errorCallbackبه شکل زیر است:(error: ProviderError) => void
- خطا