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