chrome.fileSystem

ब्यौरा

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

अनुमतियां

fileSystem

उपलब्धता

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

टाइप

AcceptOption

प्रॉपर्टी

  • ब्यौरा

    string ज़रूरी नहीं

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

  • एक्सटेंशन

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

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

  • mimeTypes

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

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

ChooseEntryOptions

प्रॉपर्टी

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

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

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

  • acceptsAllTypes

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

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

  • acceptsMultiple

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

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

  • suggestedName

    string ज़रूरी नहीं

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

  • टाइप

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

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

ChooseEntryType

Enum

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

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

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

"openDirectory"
यह उपयोगकर्ता को डायरेक्ट्री खोलने के लिए कहता है. डायरेक्ट्री खुलने पर, DirectoryEntry दिखाता है. अगर ऐप्लिकेशन के पास 'fileSystem' के तहत 'directory' की अनुमति नहीं है, तो इस टाइप का इस्तेमाल करके किए जाने वाले कॉल, रनटाइम से जुड़ी गड़बड़ी की वजह से काम नहीं करेंगे. अगर ऐप्लिकेशन के पास 'fileSystem' के तहत 'लिखने' की अनुमति है, तो वापस किया गया 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[] ज़रूरी नहीं है

getDisplayPath()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    function ज़रूरी नहीं

    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 को सेट किया जाएगा.

पैरामीटर

  • कॉलबैक

    function ज़रूरी नहीं

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

    (volumes?: Volume[]) => void

रिटर्न

  • Promise<Volume[] | undefined>

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

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

getWritableEntry()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    फ़ंक्शन

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

    (entry: Entry) => void

    • एंट्री

      प्रवेश

isRestorable()

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

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

पैरामीटर

  • आईडी

    स्ट्रिंग

  • कॉलबैक

    function ज़रूरी नहीं

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

    (isRestorable: boolean) => void

    • isRestorable

      बूलियन

रिटर्न

  • Promise<boolean>

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

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

isWritableEntry()

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

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

पैरामीटर

  • एंट्री

    प्रवेश

  • कॉलबैक

    function ज़रूरी नहीं

    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 को सेट किया जाएगा.

पैरामीटर

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

    function ज़रूरी नहीं

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

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

पैरामीटर