شرح
از chrome.fileSystem API برای ایجاد، خواندن، پیمایش، و نوشتن در سیستم فایل محلی کاربر استفاده کنید. با این API، «برنامههای Chrome» میتوانند در مکان انتخابشده توسط کاربر بخوانند و بنویسند. برای مثال، یک برنامه ویرایشگر نوشتار میتواند از این میانای برنامهسازی کاربردی برای خواندن و نوشتن اسناد محلی استفاده کند. همه موارد ناموفق ازطریق chrome.runtime.lastError اطلاع داده میشوند.
اجازهها
fileSystemدردسترس بودن
انواع
AcceptOption
مشخصات
-
description
رشته اختیاری
این شرح نوشتاری اختیاری برای این گزینه است. اگر وجود نداشته باشد، شرحی بهطور خودکار تولید خواهد شد؛ معمولاً حاوی فهرست گستردهای از افزونههای معتبر (مثلاً «text/html» ممکن است به «*.html, *.htm» گسترش یابد).
-
افزونهها
رشته[] اختیاری
افزونههایی که پذیرفته میشوند، مثلاً «jpg»، «gif»، «crx».
-
mimeTypes
رشته[] اختیاری
انواع Mime برای پذیرش، مثلاً «image/jpeg» یا «audio/*». یکی از mimeTypes یا افزونهها باید حداقل یک عنصر معتبر داشته باشد.
ChooseEntryOptions
مشخصات
-
میپذیرد
AcceptOption[] اختیاری
فهرست اختیاری گزینههای پذیرش برای این بازکننده فایل. هر گزینه بهعنوان گروهی منحصربهفرد به کاربر نهایی ارائه خواهد شد.
-
acceptsAllTypes
بولی اختیاری
اینکه آیا همه انواع فایلها، علاوهبر گزینههای مشخصشده در آرگومان پذیرش، پذیرفته شوند یا نه. پیشفرض «درست» است. اگر فیلد accepts تنظیم نشده باشد یا حاوی ورودیهای معتبر نباشد، این مقدار همیشه به true بازنشانی میشود.
-
acceptsMultiple
بولی اختیاری
آیا چند فایل پذیرفته شود. این فقط برای openFile و openWritableFile پشتیبانی میشود. اگر این مقدار روی درست تنظیم شده باشد، callback برای chooseEntry با فهرستی از ورودیها فراخوانی خواهد شد. درغیراینصورت، با یک «ورودی» فراخوانی میشود.
-
suggestedName
رشته اختیاری
نام فایل پیشنهادی که بهعنوان نام پیشفرض برای ذخیره کردن به کاربر ارائه خواهد شد. این کار اختیاری است و فقط برای «saveFile» اعمال میشود.
-
نوع
ChooseEntryType اختیاری
نوع پیاموارهای که باید نشان داده شود. پیشفرض «openFile» است.
ChooseEntryType
شمارشی
"openFile"
از کاربر میخواهد فایل موجودی را باز کند و درصورت موفقیت، FileEntry را برمیگرداند. از Chrome 31 به بعد، اگر برنامه اجازه «نوشتن» تحت «fileSystem» را داشته باشد، FileEntry قابلنوشتن خواهد بود؛ درغیراینصورت، FileEntry فقط خواندنی خواهد بود.
«openWritableFile»
از کاربر میخواهد فایل موجودی را باز کند و درصورت موفقیت، FileEntry قابلنوشتن را برمیگرداند. اگر برنامه اجازه «نوشتن» در «fileSystem» را نداشته باشد، تماسهایی که از این نوع استفاده میکنند با خطای زمان اجرا مواجه خواهند شد.
"saveFile"
از کاربر میخواهد فایل موجود یا فایل جدیدی را باز کند و درصورت موفقیت، FileEntry قابلنوشتن را برمیگرداند. اگر برنامه اجازه «نوشتن» در «fileSystem» را نداشته باشد، تماسهایی که از این نوع استفاده میکنند با خطای زمان اجرا مواجه خواهند شد.
"openDirectory"
از کاربر میخواهد دایرکتوری را باز کند و درصورت موفقیت، DirectoryEntry را برمیگرداند. اگر برنامه اجازه «directory» را تحت «fileSystem» نداشته باشد، تماسهایی که از این نوع استفاده میکنند با خطای زمان اجرا مواجه خواهند شد. اگر برنامه اجازه «نوشتن» را تحت «fileSystem» داشته باشد، DirectoryEntry برگرداندهشده قابلنوشتن خواهد بود؛ درغیراینصورت، فقطخواندنی خواهد بود. جدید در Chrome 31.
RequestFileSystemOptions
مشخصات
-
volumeId
رشته
شناسه جلد درخواستشده.
-
قابلنوشتن
بولی اختیاری
آیا سیستم فایل درخواستشده باید قابلنوشتن باشد یا نه. پیشفرض فقط خواندنی است.
Volume
مشخصات
-
volumeId
رشته
-
قابلنوشتن
بولی
VolumeListChangedEvent
مشخصات
-
جلدها
روشها
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
از کاربر بخواهید فایل یا دایرکتوری را انتخاب کند.
پارامترها
-
گزینهها
ChooseEntryOptions اختیاری
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
ورودی
ورودی اختیاری
-
fileEntries
FileEntry[] اختیاری
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
مسیر نمایش شیء «ورودی» را دریافت کنید. مسیر نمایش براساس مسیر کامل فایل یا فهرست راهنما در سیستم فایل محلی است، اما ممکن است برای اهداف نمایش خواناتر شود.
پارامترها
-
ورودی
بلیت ورودی
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(displayPath: string) => void
-
displayPath
رشته
-
بازگشتیها
-
Promise<string>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
فهرستی از جلدهای دردسترس برای requestFileSystem() را برمیگرداند. اجازه مانیفست "fileSystem": {"requestFileSystem"} لازم است. فقط برای برنامههای کیوسکی که در جلسه کیوسک اجرا میشوند دردسترس است. درصورت بروز خطا، volumes تعریفنشده خواهد بود و chrome.runtime.lastError تنظیم خواهد شد.
پارامترها
بازگشتیها
-
Promise<Volume[] | undefined>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
دریافت «ورودی» قابلنوشتن از «ورودی» دیگر. اگر برنامه اجازه «نوشتن» در «fileSystem» را نداشته باشد، این تماس با خطای زمان اجرا ناموفق خواهد بود. اگر ورودی DirectoryEntry باشد، درصورتیکه برنامه اجازه «directory» را تحت «fileSystem» نداشته باشد، این تماس ناموفق خواهد بود.
پارامترها
-
ورودی
بلیت ورودی
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(entry: Entry) => void
-
ورودی
بلیت ورودی
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
برمیگرداند که آیا برنامه اجازه بازیابی ورودی با شناسه ارائهشده را دارد یا نه.
پارامترها
-
id
رشته
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(isRestorable: boolean) => void
-
isRestorable
بولی
-
بازگشتیها
-
Promise<boolean>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
مشخص میکند که این «ورودی» قابلنوشتن است یا نه.
پارامترها
-
ورودی
بلیت ورودی
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(isWritable: boolean) => void
-
isWritable
بولی
-
بازگشتیها
-
Promise<boolean>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
درخواست دسترسی به سیستم فایل برای حجم نشاندادهشده با options.volumeId. اگر options.writable روی درست تنظیم شده باشد، سیستم فایل قابلنوشتن خواهد بود. درغیراینصورت، فقط خواندنی خواهد بود. گزینه writable به اجازه "fileSystem": {"write"} در مانیفست نیاز دارد. فقط برای برنامههای کیوسکی که در جلسه کیوسک اجرا میشوند دردسترس است. برای حالت کیوسک راهاندازی دستی، کادر گفتگوی تأیید در بالای پنجره برنامه فعال نشان داده خواهد شد. درصورت بروز خطا، fileSystem تعریفنشده خواهد بود و chrome.runtime.lastError تنظیم خواهد شد.
پارامترها
-
گزینهها
-
تماس برگشتی
تابع اختیاری
پارامتر
callbackبهصورت زیر است:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem اختیاری
-
بازگشتیها
-
Promise<FileSystem | undefined>
Chrome نسخه ۱۱۷ و بالاترPromises فقط برای «مانیفست نسخه ۳» و نسخههای جدیدتر پشتیبانی میشود، پلاتفرمهای دیگر باید از callbacks استفاده کنند.
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
اگر فایل با شناسه دادهشده قابلبازیابی باشد، ورودی آن را برمیگرداند. درغیراینصورت، این فراخوانی با خطای زمان اجرا ناموفق خواهد بود.
پارامترها
-
id
رشته
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(entry: Entry) => void
-
ورودی
بلیت ورودی
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
شناسهای را برمیگرداند که میتواند به restoreEntry ارسال شود تا دسترسی به ورودی فایل دادهشده را دوباره بهدست آورد. فقط ۵۰۰ ورودیای که اخیراً استفاده شدهاند حفظ میشوند، که در آن تماسها با retainEntry و restoreEntry بهعنوان استفاده محسوب میشوند. اگر برنامه اجازه «retainEntries» را تحت «fileSystem» داشته باشد، ورودیها بهطور نامحدود حفظ میشوند. درغیراینصورت، ورودیها فقط زمانیکه برنامه درحال اجرا است و درطول بازراهاندازیها حفظ میشوند.
پارامترها
-
ورودی
بلیت ورودی
بازگشتیها
-
رشته
رویدادها
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
وقتی فهرست درایوهای موجود تغییر میکند، فراخوانی میشود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(event: VolumeListChangedEvent) => void
-
رویداد
-