chrome.fileSystem

ब्यौरा

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

अनुमतियां

fileSystem

उपलब्धता

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

टाइप

AcceptOption

प्रॉपर्टी

  • ब्यौरा

    string ज़रूरी नहीं है

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

  • एक्सटेंशन

    string[] ज़रूरी नहीं है

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

  • mimeTypes

    string[] ज़रूरी नहीं है

    स्वीकार किए जाने वाले एमआईएमई टाइप. उदाहरण के लिए, "image/jpeg" या "audio/*". mimeTypes या extensions में से किसी एक में कम से कम एक मान्य एलिमेंट होना चाहिए.

ChooseEntryOptions

प्रॉपर्टी

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

    AcceptOption[] optional

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

  • acceptsAllTypes

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

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

  • acceptsMultiple

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

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

  • suggestedName

    string ज़रूरी नहीं है

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

  • टाइप

    ChooseEntryType optional

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

ChooseEntryType

Enum

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

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

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

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

RequestFileSystemOptions

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

प्रॉपर्टी

  • volumeId

    स्ट्रिंग

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

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

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

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

Volume

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

प्रॉपर्टी

  • volumeId

    स्ट्रिंग

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

    बूलियन

VolumeListChangedEvent

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

प्रॉपर्टी

  • वॉल्यूम

तरीके

chooseEntry()

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

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

पैरामीटर

  • विकल्प

    ChooseEntryOptions ज़रूरी नहीं है

  • कॉलबैक

    फ़ंक्शन

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

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

    • entry

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

    • fileEntries

      FileEntry[] optional

getDisplayPath()

प्रॉमिस
chrome.fileSystem.getDisplayPath(
  entry: Entry,
  callback?: function,
)
: Promise<string>

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

पैरामीटर

  • entry

    प्रवेश

  • कॉलबैक

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

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

    (displayPath: string) => void

    • displayPath

      स्ट्रिंग

रिटर्न

  • Promise<string>

    Chrome 117 या इसके बाद का वर्शन

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

getVolumeList()

Promise Chrome 44 या इसके बाद के वर्शन
chrome.fileSystem.getVolumeList(
  callback?: function,
)
: Promise<Volume[] | undefined>

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

पैरामीटर

  • कॉलबैक

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

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

    (volumes?: Volume[]) => void

    • वॉल्यूम

      Volume[] ज़रूरी नहीं है

रिटर्न

  • Promise<Volume[] | undefined>

    Chrome 117 या इसके बाद का वर्शन

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

getWritableEntry()

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

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

पैरामीटर

  • entry

    प्रवेश

  • कॉलबैक

    फ़ंक्शन

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

    (entry: Entry) => void

    • entry

      प्रवेश

isRestorable()

प्रॉमिस
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • कॉलबैक

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

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

    (isRestorable: boolean) => void

    • isRestorable

      बूलियन

रिटर्न

  • Promise<boolean>

    Chrome 117 या इसके बाद का वर्शन

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

isWritableEntry()

प्रॉमिस
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

इससे यह पता चलता है कि इस एंट्री में बदलाव किया जा सकता है या नहीं.

पैरामीटर

  • entry

    प्रवेश

  • कॉलबैक

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

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

    (isWritable: boolean) => void

    • isWritable

      बूलियन

रिटर्न

  • Promise<boolean>

    Chrome 117 या इसके बाद का वर्शन

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

requestFileSystem()

Promise Chrome 44 या इसके बाद के वर्शन
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 117 या इसके बाद का वर्शन

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

restoreEntry()

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

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • कॉलबैक

    फ़ंक्शन

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

    (entry: Entry) => void

    • entry

      प्रवेश

retainEntry()

chrome.fileSystem.retainEntry(
  entry: Entry,
)
: string

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

पैरामीटर

  • entry

    प्रवेश

रिटर्न

  • स्ट्रिंग

इवेंट

onVolumeListChanged

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

उपलब्ध वॉल्यूम की सूची में बदलाव होने पर इस फ़ंक्शन को कॉल किया जाता है.

पैरामीटर