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 ज़रूरी नहीं है

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

  • टाइप

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

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

ChooseEntryType

Enum

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

"openWritableFile"
यह फ़ंक्शन, उपयोगकर्ता को मौजूदा फ़ाइल खोलने के लिए कहता है. अगर फ़ाइल खुल जाती है, तो यह फ़ंक्शन एक ऐसा 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

    • एंट्री

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

    • fileEntries

      FileEntry[] optional

getDisplayPath()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

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

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

    (displayPath: string) => void

    • displayPath

      स्ट्रिंग

रिटर्न

  • Promise<string>

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

    प्रॉमिस सिर्फ़ Manifest 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 या इसके बाद का वर्शन

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

getWritableEntry()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    फ़ंक्शन

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

    (entry: Entry) => void

    • एंट्री

      प्रवेश

isRestorable()

Promise
chrome.fileSystem.isRestorable(
  id: string,
  callback?: function,
)
: Promise<boolean>

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • कॉलबैक

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

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

    (isRestorable: boolean) => void

    • isRestorable

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

isWritableEntry()

Promise
chrome.fileSystem.isWritableEntry(
  entry: Entry,
  callback?: function,
)
: Promise<boolean>

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

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

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

    (isWritable: boolean) => void

    • isWritable

      बूलियन

रिटर्न

  • Promise<boolean>

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

    प्रॉमिस सिर्फ़ Manifest 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 या इसके बाद का वर्शन

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

restoreEntry()

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

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • कॉलबैक

    फ़ंक्शन

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

    (entry: Entry) => void

    • एंट्री

      प्रवेश

retainEntry()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

रिटर्न

  • स्ट्रिंग

इवेंट

onVolumeListChanged

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

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

पैरामीटर