Mira, esta es una cuestión simple. Pero el método para abordar este problema no es la forma en que lo está intentando en este momento.
Lo que piensas que va a funcionar:
Almacenaremos la imagen (sus datos binarios) en una variable js, y luego la golpearemos en la página en cualquier momento.
Cómo funcionará mucho más fácilmente:
solo tiene que crear una imagen DOM en la página y establecer su origen. El navegador buscará la imagen del servidor automáticamente.
Ejemplos:
ex-1:
var img_src = "http://someserver/yourimage.png";
var node = document.getElementById('the-node-in-which-i-want-my-image');
node.innerHTML = "<img src='"+img_src+"' alt='my image'>";
ex-2: (usando jquery) - este es esencialmente el mismo que el anterior, sólo que mucho más fácil de escribir:
var img_src = "http://someserver/yourimage.png";
$('#the-node-in-which-i-want-my-image')
.html("<img src='"+img_src+"' alt='my image'>");
Ahora, hay una cosa más: el navegador comienza a buscar la imagen después de este código se ejecuta, por lo que la imagen aparece un poco después de insertarla en la D OM.
Para evitar esto, se puede precargar las imágenes usando:
var prefetch = new Image();
prefetch.src = "http://someserver/yourimage.png";
Salud!
i no creo que es posible, aunque el método de Luca se puede utilizar para crear el objeto, pero ese objeto únicamente incluya la ubicación de la imagen no la imagen en si misma –
contendrá una referencia a la imagen en sí. –