दिलचस्प पोस्ट
JQuery में चौड़ाई, आंतरिक चौखट और बाहरी चौड़ाई, ऊंचाई, भीतर ऊंचाई और बाहरी ऊंचाई के बीच अंतर क्या है दो छवियों को मर्ज करना गुलप के कार्यों को एक दूसरे के बाद क्रमिक रूप से चलाने के लिए कैसे करें एंड्रॉइड एसडीके के लिए फास्ट बिटमैप ब्लर त्रुटि: "एडीबी कनेक्शन त्रुटि: रिमोट होस्ट द्वारा एक मौजूदा कनेक्शन जबरन बंद किया गया था" जावा में डाटाबेस कनेक्शन बंद करना एंड्रॉइड का उपयोग करते हुए मैं अपने आवेदन से वाई-फाई सेटिंग स्क्रीन को कैसे कॉल कर सकता हूं जावास्क्रिप्ट मैपिंग टच इवेंट्स को माउस इवेंट्स में Word 2007 .docx फ़ाइल में मैं शब्द कैसे खोज सकता हूं? एक Rx "RetryAfter" एक्सटेंशन विधि लिखें एमवीवीएम मॉडल में मॉडल को इनोटाईपप्रोटीटी चेंज इंटरफ़ेस को लागू करना चाहिए? WRITE_SETTINGS की अनुमति नहीं मिल सकती मैं AVAudioRecorder के साथ आईफोन पर ऑडियो कैसे रिकॉर्ड करूं? विनफॉर्म्स डबल बफ़रिंग बाइनरी फ़ाइल पढ़ना और प्रत्येक बाइट पर पाशन करना

क्लाइंट साइड पर क्रोम में जावास्क्रिप्ट का उपयोग कर एक फाइल बनाइए

मैं जानना चाहूंगा कि मैं एक पाठ फ़ाइल बना सकता हूं और फ़ाइल को अपने कंप्यूटर में "डाउनलोड" अनुभाग में जावास्क्रिप्ट का उपयोग करके सहेज सकता हूं। जिस तरह से मेरी सुविधा का काम करना चाहिए, जब उपयोगकर्ता सबमिट बटन पर क्लिक करता है, मैं पाठ फ़ाइल में उपयोगकर्ताओं की जानकारी को पॉप्युलेट करता हूं और फिर उसे अपनी मशीन में सहेजता हूं। मुझे Google क्रोम में काम करना चाहिए।

क्या यह संभव है? मैंने उन पदों को देखा है जो विशेष रूप से मुझे बताते हैं कि यह एक गंभीर सुरक्षा मुद्दा है।

वेब के समाधान से एकत्रित समाधान "क्लाइंट साइड पर क्रोम में जावास्क्रिप्ट का उपयोग कर एक फाइल बनाइए"

यकीन है कि आप ब्रांड एपीआई का उपयोग कर सकते हैं: http://jsfiddle.net/4D92b/88/

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; window.requestFileSystem(window.TEMPORARY, 1024*1024, function(fs) { fs.root.getFile('test.bin', {create: true}, function(fileEntry) { // test.bin is filename fileEntry.createWriter(function(fileWriter) { var arr = new Uint8Array(3); // data length arr[0] = 97; // byte data; these are codes for 'abc' arr[1] = 98; arr[2] = 99; var blob = new Blob([arr]); fileWriter.addEventListener("writeend", function() { // navigate to file, will download location.href = fileEntry.toURL(); }, false); fileWriter.write(blob); }, function() {}); }, function() {}); }, function() {}); 

इसे क्रोम ब्राउज़र में दर्ज करें

 data:text;charset=utf-8,helloWorld 

तो अपने उपयोगकर्ताओं के लिए डाउनलोड का निर्माण करने के लिए आप ऐसा कुछ करेंगे

data='<a href='data:text;charset=utf-8,'+uriEncode(yourUSERdataToDownload)+' >Your Download</a>

फिर इसे अपने उपयोगकर्ता को प्रेस के लिए डोम में डालें।

निम्नलिखित विधि IE11 +, फ़ायरफ़ॉक्स 25+ और क्रोम 30+ में काम करती है:

 <a id="export" class="myButton" download="" href="#">export</a> <script> function createDownloadLink(anchorSelector, str, fileName){ if(window.navigator.msSaveOrOpenBlob) { var fileData = [str]; blobObject = new Blob(fileData); $(anchorSelector).click(function(){ window.navigator.msSaveOrOpenBlob(blobObject, fileName); }); } else { var url = "data:text/plain;charset=utf-8," + encodeURIComponent(str); $(anchorSelector).attr("download", fileName); $(anchorSelector).attr("href", url); } } $(function () { var str = "hi,file"; createDownloadLink("#export",str,"file.txt"); }); </script> 

इसे कार्रवाई में देखें: http://jsfiddle.net/Kg7eA/

नेविगेशन के लिए फ़ायरफ़ॉक्स और क्रोम समर्थन डेटा यूआरआइ, जो हमें डेटा यूआरआई पर नेविगेट करके फाइल बनाने की अनुमति देता है, जबकि आईई सुरक्षा उद्देश्यों के लिए इसका समर्थन नहीं करता है

दूसरी तरफ, IE में एक ब्लॉब बचाने के लिए एपीआई है, जिसका उपयोग फाइलें बनाने और डाउनलोड करने के लिए किया जा सकता है।

इसे इस्तेमाल करे:

 document.body.innerHTML+="<a id='test' href='data:text;charset=utf-8,"+encodeURIComponent("hi")+"'>Your Download</a>"; document.getElementById('test').click(); 

अगर आप एंकर टैग का फ़ाइल नाम उपयोग download विशेषता सेट करना चाहते हैं:

 document.body.innerHTML+="<a id='test' href='data:text;charset=utf-8,"+encodeURIComponent("hi")+"' download=yourfilename>Your Download</a>"; document.getElementById('test').click(); 

आपको उपयोगकर्ता को एक पाठ फ़ाइल सर्वर (जावास्क्रिप्ट पर्याप्त नहीं है) के लिए सर्वर की ओर की कार्यक्षमता की आवश्यकता होगी। आप एक सर्वर साइड स्क्रिप्ट बना सकते हैं जो फ़ाइल बनाता है और इसे सहेजने के लिए उपयोगकर्ता को संकेत देने के लिए जावास्क्रिप्ट का उपयोग करें।

उपयोगकर्ता से सबमिट बटन पर, आप सर्वर पर फ़ाइल बना सकते हैं और उपयोगकर्ता को फाइल के यूआरएल पर रीडायरेक्ट कर सकते हैं, जहां से इसे स्वचालित रूप से डाउनलोड किया जाना चाहिए।

नहीं, क्योंकि इससे आप क्लाइंट के कंप्यूटर में दुर्भावनापूर्ण प्रोग्राम बनाने की अनुमति दे सकते हैं, और उसकी गोपनीयता को नुकसान पहुंचा सकते हैं

साथ ही, फ़ाइलों को डाउनलोड करने का अनुरोध सर्वर से आता है, इसलिए आपको सर्वर पर फाइल बनाने की आवश्यकता होगी, और उसे उपयोगकर्ता को सेवा प्रदान करनी होगी, और उम्मीद है कि वह इसे बचाएगा (यदि वह इसके लिए अनुरोध करता है तो संभव है कि वह होगा) ।

देखने के लिए एक अन्य संभावित समाधान डेटा यूआरआई या सीएसवी का उपयोग करना है, लेकिन उनके लिए ब्राउज़र का समर्थन अधूरा है (आईई), देखें उपयोगकर्ता में डाउनलोड करने के लिए मेमोरी में एक फ़ाइल बनाएं, सर्वर के माध्यम से नहीं

 var isIE = /*@cc_on!@*/ false || !! document.documentMode; // At least IE6 var uri = "some data"; //data in file var fileName = "file.i4cvf"; // any file name with any extension if (isIE) { var fileData = ['\ufeff' + uri]; var blobObject = new Blob(fileData); window.navigator.msSaveOrOpenBlob(blobObject, fileName); } else //chrome { window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem; window.requestFileSystem(window.TEMPORARY, 1024 * 1024, function (fs) { fs.root.getFile(fileName, { create: true }, function (fileEntry) { fileEntry.createWriter(function (fileWriter) { var fileData = ['\ufeff' + uri]; var blob = new Blob(fileData); fileWriter.addEventListener("writeend", function () { var fileUrl = fileEntry.toURL(); var link = document.createElement('a'); link.href = fileUrl; link.download = fileName; document.body.appendChild(link); link.click(); document.body.removeChild(link); }, false); fileWriter.write(blob); }, function () {}); }, function () {}); }, function () {}); }