मैं jQuery और SQL सर्वर के साथ ASP.NET MVC का उपयोग कर रहा हूं।

मेरे पास एक पृष्ठ है जहां मुझे नियंत्रक पक्ष से अजाक्स सफलता के लिए आधार 64 मिला है और इसे ब्राउज़र के नए टैब पर भेज दिया गया है और यह मुझे पीडीएफ फाइल दिखाएगा:

window.open("data:application/pdf;base64, " + data.bytedata);

दिलचस्प बात यह है कि फ़ायरफ़ॉक्स में यह ठीक काम कर रहा है और क्रोम में भी यह ठीक काम कर रहा है, लेकिन क्रोम में पिछले 2 या 3 दिनों से यह काम नहीं कर रहा है, बस मुझे कुछ प्रकार का बाइटडेटा दे रहा है जो क्रोम और फ़ायरफ़ॉक्स में भी काम नहीं कर रहा है।

समस्या हो सकती है कि क्रोम में नियंत्रक से आने वाला बाइटडेटा अमान्य है, इसलिए यह फ़ायरफ़ॉक्स में और क्रोम में भी नहीं चल रहा है, लेकिन उसी पृष्ठ पर फ़ायरफ़ॉक्स में नियंत्रक से आने वाला एक ही कॉल बाइटडेटा क्रोम में भी ठीक चल रहा है और फ़ायरफ़ॉक्स में भी .

इस समस्या को अलग करना नहीं जानते।

1
Mahavirsinh Padhiyar 9 अगस्त 2017, 09:40
1
ऐसा लगता है कि आप कह रहे हैं कि यह काम करता है और एक ही समय में काम नहीं करता !! मैं आपके प्रश्न को गलत और साथ ही गलत तरीके से पढ़ रहा होगा
 – 
Jaromanda X
9 अगस्त 2017, 09:47
आइए एक कदम पीछे हटें और समझने योग्य बयानों में यह सब फिर से लिखने का प्रयास करें। आपका वर्तमान कार्यप्रवाह है 1. आप ब्राउज़र से बाइटडेटा भेजते हैं, 2. इसे सर्वर पर संग्रहीत करते हैं। 3. इस डेटा को अन्य ब्राउज़र से वापस प्राप्त करें। अब समस्या यह है कि कुछ दिनों से, क्रोम ब्राउज़र से भेजा गया डेटा दूषित हो गया है (यहां तक ​​कि FF भी इन डेटा को हैंडल नहीं कर सकता)। क्या यह सब सही है? यदि हां, तो क्या क्रोम एफएफ द्वारा भेजे गए डेटा को संभालने में सक्षम है? आप वास्तविक बाइनरी पीडीएफ फाइलों के बजाय बी 64 डेटा क्यों भेजते हैं?
 – 
Kaiido
9 अगस्त 2017, 10:04
मेरा मतलब यह है कि अगर मैं फ़ायरफ़ॉक्स में अपना आवेदन चलाता हूं और बेस 64 के यूआरएल को कॉपी करता हूं और इसे क्रोम में पेस्ट करता हूं तो यह चलेगा लेकिन अगर मैं क्रोम से फ़ायरफ़ॉक्स में वीज़ा वर्सा करता हूं। यह क्रोम में नहीं चल रहा है और वही लिंक फ़ायरफ़ॉक्स में भी नहीं चल रहा है। यह पिछले 3 दिन पहले से होता है।
 – 
Mahavirsinh Padhiyar
9 अगस्त 2017, 10:05
हाँ आपकी समझ सही है और हाँ मुझे सीधे आने वाले बायटेरे को बेस 64 के रूप में नए टैब पर भेजना है क्योंकि यह पहले से ही हो चुका है मुझे बस इस त्रुटि को हल करना है मेरे पास प्रवाह या कोड बदलने का अधिकार नहीं है सर।
 – 
Mahavirsinh Padhiyar
9 अगस्त 2017, 10:08
हेहे "बग को ठीक करें लेकिन कोड को न बदलें"। नौकरी बदलना आसान ;-)
 – 
Kaiido
9 अगस्त 2017, 10:08

1 उत्तर

सबसे बढ़िया उत्तर

समझ गया जहां मेरा कोड क्रोम में काम करना बंद कर देता है।

वास्तव में क्रोम ने हाल ही में 2 अगस्त को एक नया संस्करण जारी किया है:

संस्करण 60.0.3112.90 (आधिकारिक बिल्ड) (64-बिट)

और इसने उपरोक्त संस्करण में काम करना बंद कर दिया।

मेरा कोड नीचे के संस्करण में पूरी तरह से ठीक चलता है यानी तक

संस्करण 59.0.3071.86 (आधिकारिक बिल्ड) (64-बिट)

मैंने क्रोम को इस मुद्दे की सूचना दी है, देखते हैं कि वे इसे कैसे हल करते हैं।

अद्यतन समाधान:

आईफ्रेम का प्रयोग करें और उसके अंदर बेस 64 लोड करें:

window.open("<iframe src='data:application/pdf;base64, " + encodeURI(data.bytedata) + "'></iframe>")
3
Mahavirsinh Padhiyar 5 नवम्बर 2018, 09:37