जैसा कि पहले उल्लेख, FileSystem और File एपीआई, FileWriter एपीआई के साथ समर्थन करेंगे, ब्राउज़र टैब के संदर्भ से पढ़ सकते हैं और फ़ाइलें लिखने के लिए इस्तेमाल किया जा सकता/एक क्लाइंट मशीन के लिए खिड़की।
वहाँ कई FileSystem और FileWriter एपीआई जो आप जिनमें से कुछ उल्लेख किया गया था, के बारे में पता होना चाहिए से संबंधित बातें हैं, लेकिन दोहरा लायक हैं:
APIs के
- क्रियान्वयन वर्तमान में मौजूद क्रोमियम आधारित ब्राउज़रों (क्रोम & ओपेरा)
- एपीआई के दोनों W3C मानकों के से हटा लिया गया 24 अप्रैल, 2014 को ट्रैक करते हैं और अब तक मालिकाना हैं भविष्य में लागू करने ब्राउज़र से (अब मालिकाना) APIs के
- निकालना एक संभावना
है
- एक सैंडबॉक्स (डिस्क जिनमें से बाहर फ़ाइलों को कोई प्रभाव नहीं उत्पादन कर सकते हैं पर एक स्थान) एपीआई के साथ बनाया फ़ाइलों को स्टोर करने के लिए इस्तेमाल किया जाता है
- एक आभासी फाइल सिस्टम (एक निर्देशिका संरचना जो जरूरी डिस्क पर मौजूद नहीं है एक ही रूप है कि यह करता है जब ब्राउज़र से एक्सेस) प्रयोग किया जाता है में एपीआई
यहाँ के साथ बनाई गई फ़ाइलों का प्रतिनिधित्व इन कार्यों को मिलकर,, कैसे एपीआई उपयोग किया जाता है की सरल उदाहरण हैं सीधे और परोक्ष रूप :
BakedGoods *
लिखें फ़ाइल:
bakedGoods.set({
data: [{key: "testFile", value: "Hello world!", dataFormat: "text/plain"}],
storageTypes: ["fileSystem"],
options: {fileSystem:{storageType: Window.PERSISTENT}},
complete: function(byStorageTypeStoredItemRangeDataObj, byStorageTypeErrorObj){}
});
पढ़ें फ़ाइल:
bakedGoods.get({
data: ["testFile"],
storageTypes: ["fileSystem"],
options: {fileSystem:{storageType: Window.PERSISTENT}},
complete: function(resultDataObj, byStorageTypeErrorObj){}
});
कच्चे फ़ाइल, FileWriter का उपयोग करना, और फ़ाइल सिस्टम API
लिखें फ़ाइल:
function onQuotaRequestSuccess(grantedQuota)
{
function saveFile(directoryEntry)
{
function createFileWriter(fileEntry)
{
function write(fileWriter)
{
var dataBlob = new Blob(["Hello world!"], {type: "text/plain"});
fileWriter.write(dataBlob);
}
fileEntry.createWriter(write);
}
directoryEntry.getFile(
"testFile",
{create: true, exclusive: true},
createFileWriter
);
}
requestFileSystem(Window.PERSISTENT, grantedQuota, saveFile);
}
var desiredQuota = 1024 * 1024 * 1024;
var quotaManagementObj = navigator.webkitPersistentStorage;
quotaManagementObj.requestQuota(desiredQuota, onQuotaRequestSuccess);
पढ़ें फ़ाइल:
function onQuotaRequestSuccess(grantedQuota)
{
function getfile(directoryEntry)
{
function readFile(fileEntry)
{
function read(file)
{
var fileReader = new FileReader();
fileReader.onload = function(){var fileData = fileReader.result};
fileReader.readAsText(file);
}
fileEntry.file(read);
}
directoryEntry.getFile(
"testFile",
{create: false},
readFile
);
}
requestFileSystem(Window.PERSISTENT, grantedQuota, getFile);
}
var desiredQuota = 1024 * 1024 * 1024;
var quotaManagementObj = navigator.webkitPersistentStorage;
quotaManagementObj.requestQuota(desiredQuota, onQuotaRequestSuccess);
वर्तमान स्थितियों FileSystem और FileWriter एपीआई को देखते हुए, उनके उपयोग पढ़ सकते हैं और फ़ाइलें लिखने के लिए वर्तमान में उन कार्यों को करने के लिए एक "एचटीएमएल 5 रास्ता" का गठन नहीं है।
गैर-कार्यान्वयन ब्राउज़र विक्रेताओं से एपीआई में नवीनीकृत रुचि उन्हें मानकों के ट्रैक पर वापस रख सकती है, हालांकि। यह, क्रोमियम आधारित ब्राउज़र के उच्च बाजार प्रवेश के साथ संयुक्त है और तथ्य यह है कि Google (क्रोमियम के मुख्य योगदानकर्ता) ने एपीआई को दी गई और जीवन की समाप्ति तिथि कुछ मामलों में उनके उपयोग को उचित ठहराने के लिए पर्याप्त नहीं होनी चाहिए।
* BakedGoods इस आदमी यहीं :)
तुम कैसे अंत में इस के साथ चली गई अलावा अन्य कोई नहीं द्वारा किया जाता है? मैं पूर्ण फ़ाइल सिस्टम एक्सेस के साथ ब्राउज़र ऐप्स पर एक ही विश्लेषण कर रहा हूं। धन्यवाद – Dave