Если я правильно читаю ваш вопрос - который ни в коем случае не уверен - вы хотите получить двоичные данные файла изображения, предоставляющего основную информацию для аутентификации напрямую (не через пользователя).
Вам следуетбыть в состоянии сделать это с помощью объекта XMLHttpRequest
(вы можете предоставить информацию об аутентификации в вызове open
), но для чтения двоичных данных из ответа я вполне уверен, что вам придется перейти на совершенно новый и /или специфичные для реализации вещи.Вот ссылки на документы MSDN , MDC и (довольно новые) W3C .XMLHttpRequest
у Microsoft responseBody
, у Mozilla (Firefox) mozResponseArrayBuffer
, и я считаю, что в документах W3C обсуждаются двоичные данные здесь .
К отобразить изображение, загрузив его с помощью вышеупомянутого, вы можете преобразовать двоичные данные в URL данных (точнее, «URI данных», но никто не говорит, что) и присвойте результат тегу img
src
.Вы должны были бы преобразовать любой бинарный код браузера в base64 кодировку (для URL-адреса данных). (Вам, вероятно, не нужно писать конверсию самостоятельно, быстрый поиск показывает, что люди занимались этой проблемой, и вы можете повторно [и, возможно, внести свой вклад в] их усилия ...)
Плохая новость заключается в том, что IE поддерживает только URI данных, начиная с IE8, и ограничивает их 32 КБ, поэтому вам придется использовать изящные методы нарезки, такие как Google делает для предварительного просмотра .
Если у вас есть строка data://
, тег img
будет простым.Если вы не используете библиотеку:
var img, element;
img = document.createElement('img');
img.src = /* ... the data URI ... */
element = /* ... find the element you want to put the image in, via
document.getElementById or document.getElementsByTagName
or other DOM traversal ... */;
element.appendChild(img);