हमारे पास JSON उत्सर्जित एक आरईएसटी एपीआई है जहां से हम स्रोत डेटा (AJAX का उपयोग कर) कर सकते हैं। हम क्या करना चाहते हैं वह AJAX कॉल करने में सक्षम होना है जहां प्रत्येक कॉल डेटा का एक छोटा हिस्सा प्राप्त करता है (5000 पंक्तियां या उससे भी कहें), और फिर इसे ब्राउज़र पर एक CSV फ़ाइल में डाउनलोड के रूप में लिखा गया है।जावास्क्रिप्ट में फ़ाइल डाउनलोड में AJAX आउटपुट को कैसे स्ट्रीम करें?
ऐसा लगता है कि अगर हमारे पास जेएस मेमोरी में सभी डेटा है, तो इसे CSV फ़ाइल में लिखना मुश्किल नहीं है, लेकिन अगर हम 100 के रिकॉर्ड लिखना चाहते हैं, तो हमें एक शॉट में सभी 100K लाने के लिए मजबूर होना पड़ता है और फिर फ़ाइल को एक बार में उत्पादित करें।
इसके बजाए, हमें लगता है कि यह सर्वर और क्लाइंट दोनों पर छोटे भाग डाउनलोड करने और इसे फ़ाइल डाउनलोड में स्ट्रीम करने के लिए बहुत अधिक विनम्र होगा। क्या इसे करने का कोई तरीका है?
(हम इस समय jQuery 2.0.0 का उपयोग कर रहे हैं, लेकिन एक अलग लाइब्रेरी का उपयोग कर इस करवाने के लिए कोई आपत्ति नहीं है)
फ़ाइल के रूप में स्ट्रीम डाउनलोड करने के लिए छुपा आईफ्रेम का उपयोग क्यों नहीं करना है? http://stackoverflow.com/questions/16799483/using-jquery-and-iframe-to-download-a-file – Henrik
@ हेनरिक यह काम करता है, इसके बाद मेरे पास जेएस मेमोरी में सभी सामग्री है। मैं fetch-> writeout-to-file-> लाने के चक्र करना चाहता हूं। – Shreeni
? यह जेएस मेमोरी में कभी प्रवेश नहीं करता है .. जेएस बस स्रोत को आईफ्रेम को इंगित करके डाउनलोड शुरू करता है। ब्राउज़र डाउनलोड का ख्याल रखता है, और सर्वर नेटवर्क संकुल में फ़ाइल को खंडित करने का ख्याल रखता है - या क्या मैंने इस सवाल को पूरी तरह गलत समझा है? http://stackoverflow.com/questions/3749231/download-file-using-javascript-jquery – Henrik