Galletas
Puede devolver la imagen como un cuerpo de respuesta de imagen normal y luego configurar una cookie de sesión con la misma solicitud. La cookie de sesión contendría los datos JSON. Una vez que se carga la imagen, puede extraer los datos JSON de la cookie a través de JavaScript.
Esto funcionaría en todos los navegadores. La única limitación sería el tamaño del JSON que podría devolver. El tamaño máximo parece ser 4093 bytes.
- ¿Dónde te ves como desarrollador web en los próximos 5-10 años?
- Cómo aumentar el rendimiento del proyecto Django con grandes datos
- Cómo mover WordPress de un subdominio a un dominio principal
- Cómo hacer que mi dominio / sitio web sea popular
- Cómo agregar imágenes de mi PC a mi página HTML
Codificación de imagen
Si su JSON es demasiado grande para caber en una cookie, entonces podría codificar la imagen como un objeto base64 y devolver los datos de la imagen en la respuesta JSON.
En este caso, tendría que reconstruir la imagen en un lienzo o usar el formato de url de datos de imagen para crear dinámicamente un objeto de imagen como lo hace la url en el comentario de Kevin.
Una desventaja de la codificación de imágenes sería el mayor tamaño de la respuesta. Aproximadamente, el tamaño de la imagen después de la codificación en base64 sería un 37% más grande que la imagen original.
app.get (‘/’, function (req, res) {
if (req.accepts (‘text / html’)) {
res.sendfile (__ dirname + ‘/index.html’);
regreso;
}
sino if (req.accepts (‘application / json’)) {
res.json ({‘clave’: ‘valor’});
regreso;
}
});