2013-02-13 32 views
7

एक सर्वर मानना ​​जो उपयोगकर्ता अनुरोधों के जवाब को ज़िप नहीं दे सकता है। एक वेब डेवलपर फिर भी myfile.txt.gz बनाता है और इसे http://www.mysite.com/myfile.txt.gz पर संग्रहीत करता है।एक ब्राउज़र बंद करने के लिए कैसे एक अजाक्स gziped पाठ फ़ाइल fetzip?

ब्राउज़र संभवतः यह संकुचित पाठ फ़ाइल को अजाक्स अनुरोध के हिस्से के रूप में बंद करने और परिणाम को var में संग्रहीत करना संभव है? यदि हां, तो कैसे?

यदि आवश्यक हो तो मैं अन्य संपीड़न एल्गोरिदम के लिए खुला हूं।

अद्यतन

मैं निम्नलिखित JQuery अजाक्स कॉल उपयोग करने के लिए कोशिश कर रहा हूँ:

var fetch = function() { 

    $.ajax({ 
     type: 'GET', 
     url: "./data.txt.gz", 
     headers: { "Accept-Encoding" : "gzip" }, 
     dataType: "text", 
     async: true, 
     success: function(result) { 
      $("#midEnglob").text(result); 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      alert("Issue: " 
       + textStatus + " " 
       + errorThrown + " !"); 
     } 

    }); 

} 

लेकिन मैं अपने ब्राउज़र में निम्न मिलती है:

enter image description here

कोई भी विचार?

+0

मुझे यकीन नहीं है, लेकिन यदि आप हेडर को 'सामग्री-प्रकार: टेक्स्ट/सादा' और 'सामग्री-एन्कोडिंग: gzip' पर सेट करते हैं, तो यह काम कर सकता है। इस तरह एचटीएमएल पेज gzipped भेजा जाता है। आपको पहले 'स्वीकार्य-एन्कोडिंग' शीर्षलेख की जांच करनी चाहिए। –

+0

मैं कोशिश कर रहा हूं लेकिन यह काम नहीं कर रहा है। क्या आपके पास एक परिचालन कोड उदाहरण है? – JVerstry

+0

मैंने जो भी कोड सुझाया है वह सर्वर-साइड पर होगा। क्या सर्वर-साइड भाषा (यदि कोई है) आप उपयोग कर रहे हैं (मुझे केवल PHP पता है)? आपको जावास्क्रिप्ट में कुछ भी विशेष नहीं करना चाहिए, बस एक एजेक्स कॉल करें जो आप सामान्य रूप से करेंगे। यदि ब्राउज़र gzip का समर्थन करता है, और सर्वर 'सामग्री-एन्कोडिंग' शीर्षलेख भेजता है, तो यह स्वचालित रूप से इसे अनजिप कर देगा। –

उत्तर

4

ब्राउज़र को Content-Encoding: gzip के साथ असम्पीडित करने देना शायद सबसे अच्छा है। यदि यह आपके परिदृश्य के लिए काम नहीं करता है, तो जावास्क्रिप्ट में कई एलजेडब्लूडब्लू कार्यान्वयन जैसे: https://gist.github.com/revolunet/843889

आपको विभिन्न कार्यान्वयनों को आजमा सकते हैं, मैंने उनमें से कोई भी स्वयं नहीं देखा है।

+1

मैं सर्वर-साइड पर सामग्री-एन्कोडिंग को नियंत्रित नहीं करता ... मैं अजाक्स से बाइनरी सामग्री कैसे प्राप्त कर सकता हूं? – JVerstry

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^