2012-05-24 2 views
5

Все еще изо всех сил пытается прочитать ответ http-запроса, который представляет собой двоичный поток данных, который будет представлять jpg-изображение.httprequest и двоичные данные в javascript

редактировать: все дело

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, и не HTML 5 (также пытался в FF12) так я всегда в конечном итоге с ошибками с чем-то вроде

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

или

xhr.responseType = "arraybuffer"; 

даже копирование в переменную неработающую работу

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

любые идеи, что не так или что я могу попробовать?

+0

Почему? Что вы пытаетесь достичь? Может ли ваш сервер кодировать b64? – mplungjan

+0

нет его встроенного устройства, и компания не изменит свой интерфейс печально – Gobliins

+0

Но тогда как вы должны использовать двоичные данные со стороны скрипта? – Raffaele

ответ

1

Я сделал this example, чтобы прочитать двоичный JPEG на стороне клиента и проанализировать данные EXIF. Он использует BinFileReader.js, что позволяет легко справляться с двоичными данными, кросс-браузер. Here is the whole thing in a zip file, включая веб-сервер на основе узлов (выполняется с узлом server.js). Я также включил web-worker example.

Если вы просто делаете изображение из двоичного потока, почему бы просто не добавить <img src="blah" /> в ваш DOM?

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

Ответит ли это на ваш вопрос? – konsumer

Смежные вопросы