chrome.fileSystem

توضیحات

از API chrome.fileSystem برای ایجاد، خواندن، پیمایش و نوشتن در سیستم فایل محلی کاربر استفاده کنید. با استفاده از این API، برنامه‌های Chrome می‌توانند در یک مکان انتخاب شده توسط کاربر، فایل‌ها را بخوانند و در آن بنویسند. به عنوان مثال، یک برنامه ویرایشگر متن می‌تواند از API برای خواندن و نوشتن اسناد محلی استفاده کند. همه خرابی‌ها از طریق chrome.runtime.lastError اطلاع داده می‌شوند.

مجوزها

fileSystem

در دسترس بودن

فقط پیش‌زمینه

انواع

AcceptOption

خواص

  • توضیحات

    رشته اختیاری

    این توضیحات متنی اختیاری برای این گزینه است. در صورت عدم وجود، توضیحاتی به طور خودکار ایجاد می‌شود؛ که معمولاً شامل لیست گسترده‌ای از پسوندهای معتبر است (مثلاً "text/html" ممکن است به "*.html، *.htm" گسترش یابد).

  • افزونه‌ها

    رشته[] اختیاری

    پسوندهایی که باید پذیرفته شوند، مانند "jpg"، "gif"، "crx".

  • انواع mime

    رشته[] اختیاری

    انواع MIME برای پذیرش، مثلاً "image/jpeg" یا "audio/*". یکی از MIMETypeها یا افزونه‌ها باید حداقل شامل یک عنصر معتبر باشد.

ChooseEntryOptions

خواص

  • می‌پذیرد

    گزینه پذیرش [] اختیاری

    فهرست اختیاری گزینه‌های پذیرش برای این بازکننده فایل. هر گزینه به عنوان یک گروه منحصر به فرد به کاربر نهایی ارائه می‌شود.

  • همه نوع‌ها را می‌پذیرد

    بولی اختیاری

    آیا علاوه بر گزینه‌های مشخص شده در آرگومان accepts، همه انواع فایل‌ها پذیرفته شوند یا خیر. مقدار پیش‌فرض true است. اگر فیلد accepts تنظیم نشده باشد یا حاوی هیچ ورودی معتبری نباشد، این مقدار همیشه به true بازنشانی می‌شود.

  • چندگانه را می‌پذیرد

    بولی اختیاری

    اینکه آیا چندین فایل پذیرفته شود یا خیر. این فقط برای openFile و openWritableFile پشتیبانی می‌شود. اگر این مقدار روی true تنظیم شده باشد، تابع callback به chooseEntry با لیستی از ورودی‌ها فراخوانی می‌شود. در غیر این صورت، با یک ورودی واحد فراخوانی خواهد شد.

  • نام پیشنهادی

    رشته اختیاری

    نام فایل پیشنهادی که به عنوان نام پیش‌فرض برای ذخیره به کاربر ارائه می‌شود. این اختیاری است و فقط برای 'saveFile' اعمال می‌شود.

  • نوع

    انتخاب نوع ورود اختیاری است

    نوع اعلانی که نمایش داده می‌شود. مقدار پیش‌فرض «openFile» است.

ChooseEntryType

شمارشی

"فایل باز"
از کاربر می‌خواهد که یک فایل موجود را باز کند و در صورت موفقیت، یک FileEntry برمی‌گرداند. از کروم ۳۱ به بعد، اگر برنامه مجوز «نوشتن» را در بخش «fileSystem» داشته باشد، FileEntry قابل نوشتن خواهد بود؛ در غیر این صورت، FileEntry فقط خواندنی خواهد بود.

"فایل قابل نوشتن باز"
از کاربر می‌خواهد که یک فایل موجود را باز کند و در صورت موفقیت، یک FileEntry قابل نوشتن برمی‌گرداند. فراخوانی‌هایی که از این نوع استفاده می‌کنند، در صورتی که برنامه مجوز «نوشتن» را در زیر «fileSystem» نداشته باشد، با خطای زمان اجرا مواجه می‌شوند.

"ذخیره فایل"
از کاربر می‌خواهد که یک فایل موجود یا یک فایل جدید را باز کند و در صورت موفقیت، یک FileEntry قابل نوشتن برمی‌گرداند. فراخوانی‌هایی که از این نوع استفاده می‌کنند، در صورتی که برنامه مجوز «نوشتن» را در زیر «fileSystem» نداشته باشد، با خطای زمان اجرا مواجه می‌شوند.

"دایرکتوری باز"
از کاربر می‌خواهد که یک دایرکتوری را باز کند و در صورت موفقیت، یک DirectoryEntry برمی‌گرداند. فراخوانی‌هایی که از این نوع استفاده می‌کنند، در صورتی که برنامه مجوز 'directory' را در 'fileSystem' نداشته باشد، با خطای زمان اجرا مواجه می‌شوند. اگر برنامه مجوز 'write' را در 'fileSystem' داشته باشد، DirectoryEntry برگردانده شده قابل نوشتن خواهد بود؛ در غیر این صورت فقط خواندنی خواهد بود. این قابلیت در کروم ۳۱ جدید است.

RequestFileSystemOptions

کروم ۴۴+

خواص

  • شناسه حجم

    رشته

    شناسه‌ی حجم درخواستی.

  • قابل نوشتن

    بولی اختیاری

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

Volume

کروم ۴۴+

خواص

  • شناسه حجم

    رشته

  • قابل نوشتن

    بولی

VolumeListChangedEvent

کروم ۴۴+

خواص

روش‌ها

chooseEntry()

chrome.fileSystem.chooseEntry(
  options?: ChooseEntryOptions,
  callback: function,
)
: void

از کاربر بخواهید یک فایل یا دایرکتوری را انتخاب کند.

پارامترها

  • گزینه‌ها

    انتخاب گزینه‌ها اختیاری است

  • تماس برگشتی

    تابع

    پارامتر callback به شکل زیر است:

    (entry?: Entry, fileEntries?: FileEntry[]) => void

    • ورود

      ورود اختیاری است

    • ورودی‌های فایل

      FileEntry[] اختیاری

getDisplayPath()

وعده
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

مسیر نمایش یک شیء Entry را دریافت کنید. مسیر نمایش بر اساس مسیر کامل فایل یا دایرکتوری در سیستم فایل محلی است، اما ممکن است برای اهداف نمایشی خواناتر شود.

پارامترها

  • ورود

    ورود

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (displayPath: string) => void

    • مسیر نمایش

      رشته

بازگشت‌ها

  • قول<string>

    کروم ۱۱۷+

    Promiseها فقط برای Manifest V3 و نسخه‌های بعدی پشتیبانی می‌شوند، سایر پلتفرم‌ها باید از callbackها استفاده کنند.

getVolumeList()

قول کروم ۴۴+
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

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

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به شکل زیر است:

    (volumes?: Volume[]) => void

    • حجم‌ها

      حجم [] اختیاری

بازگشت‌ها

  • وعده< جلد [] | تعریف نشده>

    کروم ۱۱۷+