chrome.fileSystem

ब्यौरा

उपयोगकर्ता के लोकल फ़ाइल सिस्टम को बनाने, पढ़ने, नेविगेट करने, और उसमें लिखने के लिए, chrome.fileSystem API का इस्तेमाल करें. इस एपीआई की मदद से, Chrome ऐप्स उपयोगकर्ता की चुनी हुई जगह पर कॉन्टेंट पढ़ और लिख सकता है. उदाहरण के लिए, कोई टेक्स्ट एडिटर ऐप्लिकेशन, स्थानीय दस्तावेज़ों को पढ़ने और लिखने के लिए, एपीआई का इस्तेमाल कर सकता है. सभी गड़बड़ियों की सूचना chrome.runtime.lastError से दी जाती है.

अनुमतियां

fileSystem

उपलब्धता

सिर्फ़ फ़ोरग्राउंड

टाइप

AcceptOption

प्रॉपर्टी

  • ब्यौरा

    स्ट्रिंग ज़रूरी नहीं

    इस विकल्प के लिए यह टेक्स्ट की जानकारी है. हालांकि, यह ज़रूरी नहीं है. अगर यह मौजूद नहीं है, तो ब्यौरा अपने-आप जनरेट होगा. आम तौर पर, इसमें मान्य एक्सटेंशन की पूरी सूची होती है, जैसे कि "text/html" को बड़ा करके "*.html, *.htm" किया जा सकता है.

  • एक्सटेंशन

    स्ट्रिंग[] ज़रूरी नहीं है

    स्वीकार किए जाने वाले एक्सटेंशन, जैसे कि "jpg", "gif", "crx".

  • mimeTypes

    स्ट्रिंग[] ज़रूरी नहीं है

    स्वीकार करने के लिए माइम-टाइप, जैसे कि "image/jpeg" या "audio/*". किसी एक mimeType या एक्सटेंशन में कम से कम एक मान्य एलिमेंट होना चाहिए.

ChooseEntryOptions

प्रॉपर्टी

  • स्वीकार करता है

    AcceptOption[] ज़रूरी नहीं

    इस फ़ाइल खोलने वाले टूल के लिए, स्वीकार करने के विकल्पों की वैकल्पिक सूची. हर विकल्प को असली उपयोगकर्ता को एक यूनीक ग्रुप के तौर पर दिखाया जाएगा.

  • acceptsAllTypes

    बूलियन ज़रूरी नहीं

    स्वीकार किए जाने वाले आर्ग्युमेंट में दिए गए विकल्पों के अलावा, सभी फ़ाइल टाइप को स्वीकार करना है या नहीं. डिफ़ॉल्ट रूप से यह वैल्यू 'सही' पर सेट होती है. अगर स्वीकार किया गया फ़ील्ड सेट नहीं है या कोई मान्य एंट्री नहीं है, तो यह हमेशा सही पर रीसेट होगी.

  • acceptsMultiple

    बूलियन ज़रूरी नहीं

    एक से ज़्यादा फ़ाइलें स्वीकार की जाएं या नहीं. यह सिर्फ़ OpenFile और OpenWritableFile के लिए काम करता है. अगर यह 'सही' पर सेट है, तो चुने गए कॉलबैक को एंट्री की सूची के साथ कॉल किया जाएगा. अगर ऐसा नहीं है, तो उसे एक ही एंट्री के लिए कॉल किया जाएगा.

  • suggestedName

    स्ट्रिंग ज़रूरी नहीं

    सुझाया गया फ़ाइल, जिसे उपयोगकर्ता को पढ़ने या लिखने के लिए, डिफ़ॉल्ट नाम के तौर पर दिखाया जाएगा. हालांकि, ऐसा करना ज़रूरी नहीं है.

  • टाइप

    ChooseEntryType ज़रूरी नहीं

    किस तरह के प्रॉम्प्ट को दिखाना है. डिफ़ॉल्ट विकल्प 'openFile' होता है.

ChooseEntryType

Enum

"openFile"
उपयोगकर्ता को मौजूदा फ़ाइल खोलने का निर्देश देता है और पूरा होने पर FileEntry दिखाता है. अगर ऐप्लिकेशन के पास 'fileSystem' के तहत 'लिखने' की अनुमति है, तो Chrome 31 और उसके बाद के वर्शन में FileEntry लिखा जा सकेगा. ऐसा न होने पर, FileEntry सिर्फ़ पढ़ने के लिए उपलब्ध होगा.

"openWritableFile"
उपयोगकर्ता को किसी मौजूदा फ़ाइल को खोलने का निर्देश देता है और सफलता मिलने पर, लिखने लायक FileEntry दिखाता है. अगर ऐप्लिकेशन को 'fileSystem' के तहत 'लिखने' की अनुमति नहीं है, तो इस टाइप का इस्तेमाल करने वाले कॉल रनटाइम की गड़बड़ी के साथ विफल हो जाएंगे.

"saveFile"
उपयोगकर्ता को किसी मौजूदा या नई फ़ाइल को खोलने का निर्देश देता है. साथ ही, सही होने पर FileEntry दिखाता है. अगर ऐप्लिकेशन को 'fileSystem' के तहत 'लिखने' की अनुमति नहीं है, तो इस टाइप का इस्तेमाल करने वाले कॉल रनटाइम की गड़बड़ी के साथ विफल हो जाएंगे.

"openDirectory"
उपयोगकर्ता से डायरेक्ट्री खोलने का निर्देश देता है और सफल होने पर DirectoryEntry दिखाता है. अगर ऐप्लिकेशन के 'fileSystem' में 'डायरेक्ट्री' की अनुमति नहीं है, तो इस टाइप का इस्तेमाल करने वाले कॉल रनटाइम की गड़बड़ी के साथ रद्द हो जाएंगे. अगर ऐप्लिकेशन को 'fileSystem' के तहत 'लिखने' की अनुमति है, तो दिखाई गई DirectoryEntry लिखने लायक होगी; वरना यह सिर्फ़ पढ़ने के लिए होगी. Chrome 31 में नया.

RequestFileSystemOptions

Chrome 44 और इसके बाद के वर्शन

प्रॉपर्टी

  • volumeId

    स्ट्रिंग

    अनुरोध किए गए वॉल्यूम का आईडी.

  • लिखा जा सकता है

    बूलियन ज़रूरी नहीं

    अनुरोध किया गया फ़ाइल सिस्टम लिखा जा सकता है या नहीं. डिफ़ॉल्ट तौर पर, यह सुविधा सिर्फ़ पढ़ने के लिए होती है.

Volume

Chrome 44 और इसके बाद के वर्शन

प्रॉपर्टी

  • volumeId

    स्ट्रिंग

  • लिखा जा सकता है

    boolean

VolumeListChangedEvent

Chrome 44 और इसके बाद के वर्शन

प्रॉपर्टी

तरीके

chooseEntry()

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

उपयोगकर्ता से फ़ाइल या डायरेक्ट्री चुनने के लिए कहें.

पैरामीटर

  • विकल्प

    ChooseEntryOptions ज़रूरी नहीं

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

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

    • एंट्री

      एंट्री ज़रूरी नहीं

    • fileEntries

      FileEntry[] ज़रूरी नहीं

getDisplayPath()

वादा
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)

एंट्री ऑब्जेक्ट का डिसप्ले पाथ पाएं. डिसप्ले पाथ, लोकल फ़ाइल सिस्टम पर मौजूद फ़ाइल या डायरेक्ट्री के पूरे पाथ पर आधारित होता है. हालांकि, इसे डिसप्ले के लिए ज़्यादा आसानी से पढ़ने लायक बनाया जा सकता है.

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (displayPath: string)=>void

    • displayPath

      स्ट्रिंग

रिटर्न

  • प्रॉमिस<string>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

getVolumeList()

प्रॉमिस Chrome 44+
chrome.fileSystem.getVolumeList(
  callback?: function,
)

यह फ़ंक्शन requestFileSystem() के लिए उपलब्ध वॉल्यूम की सूची दिखाता है. "fileSystem": {"requestFileSystem"} मेनिफ़ेस्ट की अनुमति ज़रूरी है. सिर्फ़ कीऑस्क सेशन में चल रहे कीऑस्क ऐप्लिकेशन के लिए उपलब्ध है. कोई गड़बड़ी होने पर, volumes को तय नहीं किया जाएगा और chrome.runtime.lastError को सेट कर दिया जाएगा.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (volumes?: Volume[])=>void

रिटर्न

  • वादा<वॉल्यूम[]|undefined>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

getWritableEntry()

chrome.fileSystem.getWritableEntry(
  entry: Entry,
  callback: function,
)

किसी दूसरी एंट्री से लिखने वाली एंट्री पाएं. अगर ऐप्लिकेशन को 'fileSystem' के तहत 'लिखने' की अनुमति नहीं है, तो यह कॉल रनटाइम की गड़बड़ी के साथ विफल हो जाएगा. अगर एंट्री DirectoryEntry है, तो अगर ऐप्लिकेशन के पास 'fileSystem' के तहत 'directory' अनुमति नहीं है, तो यह कॉल विफल हो जाएगा.

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (entry: Entry)=>void

    • एंट्री

      प्रवेश

isRestorable()

वादा
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)

यह दिखाता है कि ऐप्लिकेशन के पास दिए गए आईडी की एंट्री को पहले जैसा करने की अनुमति है या नहीं.

पैरामीटर

  • id

    स्ट्रिंग

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (isRestorable: boolean)=>void

    • isRestorable

      boolean

रिटर्न

  • Promise<boolean>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

isWritableEntry()

वादा
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)

यह बताता है कि यह एंट्री लिखने लायक है या नहीं.

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (isWritable: boolean)=>void

    • isWritable

      boolean

रिटर्न

  • Promise<boolean>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

requestFileSystem()

प्रॉमिस Chrome 44+
chrome.fileSystem.requestFileSystem(
  options: RequestFileSystemOptions,
  callback?: function,
)

options.volumeId से दिखाए गए वॉल्यूम के लिए, फ़ाइल सिस्टम का ऐक्सेस मांगता है. अगर options.writable को 'सही है' पर सेट किया जाता है, तो फ़ाइल सिस्टम में लिखा जा सकेगा. अगर ऐसा नहीं किया जाता है, तो यह रीड-ओनली मोड में होगा. writable विकल्प के लिए, मेनिफ़ेस्ट में "fileSystem": {"write"} अनुमति की ज़रूरत है. सिर्फ़ कीऑस्क सेशन में चल रहे कीऑस्क ऐप्लिकेशन के लिए उपलब्ध है. मैन्युअल-लॉन्च कीऑस्क मोड के लिए, चालू ऐप्लिकेशन विंडो के सबसे ऊपर पुष्टि करने वाला डायलॉग दिखेगा. कोई गड़बड़ी होने पर, fileSystem को तय नहीं किया जाएगा और chrome.runtime.lastError को सेट कर दिया जाएगा.

पैरामीटर

  • विकल्प
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं

    callback पैरामीटर ऐसा दिखता है:

    (fileSystem?: FileSystem)=>void

    • fileSystem

      फ़ाइल सिस्टम ज़रूरी नहीं

रिटर्न

  • Promise<FileSystem|undefined>

    Chrome 117 और उसके बाद के वर्शन

    प्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.

restoreEntry()

chrome.fileSystem.restoreEntry(
  id: string,
  callback: function,
)

अगर दिए गए आईडी को वापस लाया जा सकता है, तो उस आईडी से फ़ाइल की एंट्री दिखाता है. अगर ऐसा नहीं होता है, तो यह कॉल रनटाइम की गड़बड़ी के साथ काम नहीं करेगा.

पैरामीटर

  • id

    स्ट्रिंग

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (entry: Entry)=>void

    • एंट्री

      प्रवेश

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)

वह आईडी देता है जिसे किसी फ़ाइल एंट्री का ऐक्सेस फिर से पाने के लिए RestoreEntry को पास किया जा सकता है. सिर्फ़ हाल ही में इस्तेमाल की गई 500 एंट्री सेव की जाती हैं, जहां इस्तेमाल के तौर पर कॉल को बनाए रखना और रिस्टोर एंट्री की गिनती करना शामिल है. अगर ऐप्लिकेशन के पास 'fileSystem' में मौजूद 'retainEntries' की अनुमति है, तो एंट्री हमेशा के लिए सेव रखी जाती हैं. अगर ऐसा नहीं है, तो एंट्री को सिर्फ़ तब सेव किया जाता है, जब ऐप्लिकेशन चल रहा हो या उसे रीस्टार्ट किया गया हो.

पैरामीटर

  • एंट्री

    प्रवेश

रिटर्न

  • स्ट्रिंग

इवेंट

onVolumeListChanged

Chrome 44 और इसके बाद के वर्शन
chrome.fileSystem.onVolumeListChanged.addListener(
  callback: function,
)

यह तब कॉल किया जाता है, जब उपलब्ध वॉल्यूम की सूची बदली जाती है.

पैरामीटर