ब्यौरा
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
प्रॉपर्टी
-
volumeId
स्ट्रिंग
अनुरोध किए गए वॉल्यूम का आईडी.
-
लिखा जा सकता है
बूलियन ज़रूरी नहीं है
अनुरोध किया गया फ़ाइल सिस्टम, लिखने की अनुमति वाला होना चाहिए या नहीं. डिफ़ॉल्ट रूप से, यह सिर्फ़ पढ़ने के लिए होता है.
Volume
प्रॉपर्टी
-
volumeId
स्ट्रिंग
-
लिखा जा सकता है
बूलियन
VolumeListChangedEvent
प्रॉपर्टी
-
वॉल्यूम
Volume[]
तरीके
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
उपयोगकर्ता से कोई फ़ाइल या डायरेक्ट्री चुनने के लिए कहें.
पैरामीटर
-
विकल्प
ChooseEntryOptions ज़रूरी नहीं है
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर ऐसा दिखता है:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
एंट्री
एंट्री ज़रूरी नहीं है
-
fileEntries
FileEntry[] optional
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
Entry ऑब्जेक्ट का डिसप्ले पाथ पाएं. डिस्प्ले पाथ, लोकल फ़ाइल सिस्टम पर मौजूद फ़ाइल या डायरेक्ट्री के पूरे पाथ पर आधारित होता है. हालांकि, इसे दिखाने के लिए ज़्यादा आसानी से पढ़ा जा सकने वाला बनाया जा सकता है.
पैरामीटर
-
एंट्री
प्रवेश
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callbackपैरामीटर ऐसा दिखता है:(displayPath: string) => void
-
displayPath
स्ट्रिंग
-
रिटर्न
-
Promise<string>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
requestFileSystem() के लिए उपलब्ध वॉल्यूम की सूची दिखाता है. "fileSystem": {"requestFileSystem"} के मेनिफ़ेस्ट की अनुमति ज़रूरी है. यह सुविधा, कीऑस्क सेशन में चल रहे कीऑस्क ऐप्लिकेशन के लिए ही उपलब्ध है. गड़बड़ी होने पर, volumes को तय नहीं किया जाएगा और chrome.runtime.lastError को सेट किया जाएगा.
पैरामीटर
रिटर्न
-
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()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
इससे पता चलता है कि ऐप्लिकेशन के पास, दिए गए आईडी वाली एंट्री को वापस लाने की अनुमति है या नहीं.
पैरामीटर
-
आईडी
स्ट्रिंग
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callbackपैरामीटर ऐसा दिखता है:(isRestorable: boolean) => void
-
isRestorable
बूलियन
-
रिटर्न
-
Promise<boolean>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
इससे यह पता चलता है कि इस एंट्री में बदलाव किया जा सकता है या नहीं.
पैरामीटर
-
एंट्री
प्रवेश
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callbackपैरामीटर ऐसा दिखता है:(isWritable: boolean) => void
-
isWritable
बूलियन
-
रिटर्न
-
Promise<boolean>
Chrome 117 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest 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 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ 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.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
उपलब्ध वॉल्यूम की सूची में बदलाव होने पर कॉल किया जाता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर ऐसा दिखता है:(event: VolumeListChangedEvent) => void
-
इवेंट
-