0
votes

Comment envoyer une image de l'arrière-marche à la vue avec noeud et express?

J'ai ce morceau de code apportant une demande à l'URL suivante et récupérer une image en réponse à la promesse. Ensuite, je suis le login que l'image dans la console que je suppose que cela fonctionne bien, car elle est en binaire dans la console. XXX Pré>

J'ai besoin de l'impression de l'image dans la console, affichez-la. Dans la vue, mais je ne suis pas capable de le faire, tout essayé déjà. P>

Quoi pour? P>

J'essaie de faire un robot qui frappe l'URL avec des params différents et apportez les images à chaque fois qu'il frappe l'URL, alors je dois faire autre chose avec chaque image. P>

C'est ma vue simple. P>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Tapas Clarin</title>
</head>
<body>

    <div id="tapas">
        <!-- Acá quiero mostrar la imagen -->
    </div>
    <script src="./app.js"></script>
</body>
</html>


0 commentaires

3 Réponses :


1
votes

Créer une API simple qui fait cela, mais donnez une image de réponse dans la base64, appelez cette API de la page HTML et montrez-la dans la balise IMG, comme vous pouvez passer la base64 directement dans IMG Tag, comme celui-ci

<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD">


0 commentaires

1
votes

Avez-vous essayé res.Send (IMG) ?

Par exemple si votre point d'extrémité d'API est / image alors que votre code pourrait être comme: xxx

puis sur votre client HTML: xxx


0 commentaires

1
votes

C'est comme ça que j'ai fini par faire

const app = require('express')();
const http = require('http').Server(app);
const rp = require('request-promise');
const port = 3000;

const downloadImage = require('./downloadImage');

// Opciones de búsqueda
var options = {
    url: 'http://tapas.clarin.com/tapa/1990/02/22/19900222_thumb.jpg',
    encoding: null
}

// URL donde se hace el request
app.get('/', (req, res) => {
   rp(options)
  .then(image => {
      return res.end(image, 'binary');
  })
  .catch(err => res.send(err));
})


0 commentaires