एकमात्र तरीका जिससे मैं वाकिफ हूं, वह है FileSaver.js द्वारा उपयोग की जाने वाली ट्रिक :
- एक छिपा हुआ
<a>
टैग बनाएं ।
- इसकी
href
विशेषता को बूँद के URL पर सेट करें।
download
फ़ाइल नाम पर इसकी विशेषता सेट करें ।
<a>
टैग पर क्लिक करें ।
यहाँ एक सरल उदाहरण है ( jsfiddle ):
var saveData = (function () {
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
return function (data, fileName) {
var json = JSON.stringify(data),
blob = new Blob([json], {type: "octet/stream"}),
url = window.URL.createObjectURL(blob);
a.href = url;
a.download = fileName;
a.click();
window.URL.revokeObjectURL(url);
};
}());
var data = { x: 42, s: "hello, world", d: new Date() },
fileName = "my-download.json";
saveData(data, fileName);
मैंने इस उदाहरण को केवल विचार को स्पष्ट करने के लिए लिखा था, इसके बजाय फाइल कोडेवर.जेएस के उत्पादन कोड का उपयोग किया।
टिप्पणियाँ
- पुराने ब्राउज़र "डाउनलोड" विशेषता का समर्थन नहीं करते हैं, क्योंकि यह HTML5 का हिस्सा है।
- कुछ फ़ाइल स्वरूपों को ब्राउज़र द्वारा असुरक्षित माना जाता है और डाउनलोड विफल रहता है। Txt एक्सटेंशन वाली JSON फाइल्स को सेव करना मेरे लिए काम करता है।