मैं एक क्रोम एक्सटेंशन जो निम्नलिखित करता है लिख रहा हूँ है:"हे भगवान" जब डेटा uri बहुत बड़ी
XMLHttpRequest
- का उपयोग कर स्मृति के लिए एक वेबसाइट से ऐसी फ़ाइल डाउनलोड करने के लिए अतिरिक्त डेटा जोड़ दिया फ़ाइल और फिर बेस 64 परिणामस्वरूप परिवर्तनीय
total_encoded_data
<a href=data:application/octet-stream;charset=utf-8;base64,' + total_encoded_data+' download='file.bin'>Click to Download</a>
का उपयोग कर उपयोगकर्ता को डेटा प्रदान करता है। जहां jQuery का उपयोग करtotal_encoded_data
को href में जोड़ा गया है।
मैं एक मैनुअल द्विआधारी खोज के माध्यम से, पाया है, कि अगर total_encoded_data
के आकार से अधिक 2,097,100 वर्ण है, तो मैं एक हे भगवान संदेश जब मैं लिंक पर क्लिक करें मिल जाएगा। यदि आकार छोटा है, तो मैं उम्मीद के अनुसार डाउनलोड कर सकता हूं।
फाइलसाइज़ का परीक्षण करने के अलावा, मैंने यह सुनिश्चित करने के लिए atoi
भी उपयोग किया है कि बेस 64 एन्कोडिंग मान्य है, और यह बिना त्रुटि के संचालित होता है।
हे भगवान संदेशों chrome://crashes
में किसी भी क्रैश रिपोर्ट और न ही chrome_debug.log
कैसे जब एक डेटा uri जहां बेस 64 इनकोडिंग स्ट्रिंग की लंबाई है की सेवा मैं एक हे भगवान संदेश से बचने कर में किसी भी अप्रत्याशित उत्पादन का उत्पादन नहीं करते 20 9 7100 से अधिक?
3.5 साल बाद ... अभी भी तय नहीं है। भगवान इसे डर, क्रोम। – kangax
लगभग 7 साल बाद ... और ब्लॉब यूआरएल चाल के साथ वही पुरानी समस्या हल हो गई! – aBertrand
लगभग आठ .. यह दुखद है .. –