chrome.fileSystem

شرح

از 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

Chrome نسخه ۴۴ به بالا

مشخصات

  • volumeId

    رشته

    شناسه جلد درخواست‌شده.

  • قابل‌نوشتن

    بولی اختیاری

    آیا سیستم فایل درخواست‌شده باید قابل‌نوشتن باشد یا نه. پیش‌فرض فقط خواندنی است.

Volume

Chrome نسخه ۴۴ به بالا

مشخصات

  • volumeId

    رشته

  • قابل‌نوشتن

    بولی

VolumeListChangedEvent

Chrome نسخه ۴۴ به بالا

مشخصات

روش‌ها

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()

Promise Chrome نسخه ۴۴ و بالاتر
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

فهرستی از جلدهای دردسترس برای requestFileSystem() را برمی‌گرداند. اجازه مانیفست "fileSystem": {"requestFileSystem"} لازم است. فقط برای برنامه‌های کیوسکی که در جلسه کیوسک اجرا می‌شوند دردسترس است. درصورت بروز خطا، volumes تعریف‌نشده خواهد بود و chrome.runtime.lastError تنظیم خواهد شد.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (volumes?: Volume[]) => void

    • جلدها

      جلد[] اختیاری

بازگشتی‌ها

  • 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()

Promise Chrome نسخه ۴۴ و بالاتر
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 نسخه ۴۴ به بالا
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

وقتی فهرست درایوهای موجود تغییر می‌کند، فراخوانی می‌شود.

پارامترها