ब्यौरा
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
प्रॉपर्टी
-
volumeId
स्ट्रिंग
अनुरोध किए गए वॉल्यूम का आईडी.
-
लिखा जा सकता है
बूलियन ज़रूरी नहीं है
अनुरोध किया गया फ़ाइल सिस्टम, लिखने की अनुमति वाला होना चाहिए या नहीं. डिफ़ॉल्ट रूप से, यह सिर्फ़ पढ़ने के लिए होता है.
Volume
प्रॉपर्टी
-
volumeId
स्ट्रिंग
-
लिखा जा सकता है
बूलियन
VolumeListChangedEvent
प्रॉपर्टी
-
वॉल्यूम
Volume[]
तरीके
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()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
इससे requestFileSystem()
के लिए उपलब्ध वर्शन की सूची मिलती है. "fileSystem": {"requestFileSystem"}
मेनिफ़ेस्ट की अनुमति ज़रूरी है. यह सुविधा सिर्फ़ कीऑस्क सेशन में चल रहे कीऑस्क ऐप्लिकेशन के लिए उपलब्ध है. गड़बड़ी होने पर, volumes
को तय नहीं किया जाएगा और chrome.runtime.lastError
को सेट किया जाएगा.
पैरामीटर
रिटर्न
-
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()
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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
उपलब्ध वॉल्यूम की सूची में बदलाव होने पर इस फ़ंक्शन को कॉल किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callback
पैरामीटर ऐसा दिखता है:(event: VolumeListChangedEvent) => void
-
इवेंट
-