2012-05-24 26 views
5

में httprequest और बाइनरी डेटा अभी भी एक HTTPrequest की प्रतिक्रिया पढ़ने के लिए कई कोशिशों के बाद संघर्ष कर रहा है जो बाइनरी डेटास्ट्रीम है जो एक jpg छवि का प्रतिनिधित्व करेगा।जावास्क्रिप्ट

संपादित करें: पूरी बात

xmlhttp = false; 
     /*@[email protected]*/ 
     /*@if (@_jscript_version >= 5) 
     // JScript gives us Conditional compilation, we can cope with old IE versions. 
     // and security blocked creation of the objects. 
     try { 
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try { 
       xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (E) { 
       xmlhttp = false; 
      } 
     } 
     @[email protected]*/ 
     if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
      try { 
       xmlhttp = new XMLHttpRequest(); 
      } catch (e) { 
       xmlhttp = false; 
      } 
     } 
     if (!xmlhttp && window.createRequest) { 
      try { 
       xmlhttp = window.createRequest(); 
      } catch (e) { 
       xmlhttp = false; 
      } 
     } 

     xmlhttp.open("GET", theUrl, true); 
     xmlhttp.onreadystatechange = function() { 
      if (xmlhttp.readyState == 4) { 

       var headers = xmlhttp.getAllResponseHeaders(); 
      } 
     } 

     xmlhttp.send(null); 

मैं IE8 का उपयोग कर रहा है, और कोई एचटीएमएल 5 (भी FF12 में करने की कोशिश की) तो मैं हमेशा कुछ के साथ त्रुटियों के साथ की तरह

xhr.overrideMimeType('text\/plain; charset=x-user-defined'); 

या अंत

xhr.responseType = "arraybuffer"; 

यहां तक ​​कि एक चर में कॉपी करने के लिए काम नहीं किया

var body = xhr.response; //.responseText , .responseBody 

कोई विचार क्या गलत है या मैं कोशिश कर सकता हूं?

+0

क्यों? आप क्या खत्म करने की कोशिश कर रहे हैं? क्या आपका सर्वर बी 64 एन्कोडिंग कर सकता है? – mplungjan

+0

कोई भी एक एम्बेडेड डिवाइस नहीं है और कंपनी ने अपने इंटरफ़ेस को दुख से – Gobliins

+0

नहीं बदला है, लेकिन फिर आपको स्क्रिप्ट पक्ष पर बाइनरी डेटा का उपयोग कैसे करना चाहिए? – Raffaele

उत्तर

1

मैंने क्लाइंट-साइड पर बाइनरी जेपीईजी पढ़ने और EXIF ​​डेटा को पार्स करने के लिए this example बनाया। यह BinFileReader.js का उपयोग करता है जो बाइनरी डेटा, क्रॉस-ब्राउज़र से निपटने में वाकई आसान बनाता है। Here is the whole thing in a zip file, जिसमें नोड-आधारित वेबसर्वर शामिल है (नोड server.js के साथ चलाएं) में मैंने web-worker example भी शामिल किया था।

यदि आप सिर्फ बाइनरी स्ट्रीम से छवि बना रहे हैं, तो क्यों न केवल अपने डीओएम में <img src="blah" /> जोड़ें?

$('body').append('<img src="' + URL + '"/>'); 
+0

क्या यह आपके प्रश्न का उत्तर देता है? – konsumer