我有这段代码向以下URL发出请求,并获得图像作为对诺言的响应。 然后,我将该图像登录到控制台,因为它在控制台中是二进制文件,所以我认为它可以正常工作。
var app = require('express')();
var http = require('http').Server(app);
var rp = require('request-promise');
var options = {
uri: 'http://tapas.clarin.com/tapa/1990/02/22/19900222_thumb.jpg',
headers: {
'User-Agent': 'Request-Promise'
},
json: true // Json parse
};
rp(options)
.then( res => {
console.log(res)
})
.catch(function (err) {
console.log(err)
});
http.listen(3000, function(){
console.log('listening on localhost:3000');
});
我需要代替将图像打印到控制台中,而是在视图中显示它,但是我无法做到,已经尝试了一切。
干什么?
我正在尝试制作一个机器人,以不同的参数击中URL,并在每次击中URL时将图像重新带回去,那么我需要对每个图像进行其他操作。
这是我的简单观点。
<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 :(得分:1)
创建一个执行此操作的简单API,但是在base64中提供响应图像,从HTML页面调用该API,并在img标签中显示它,因为您可以像这样直接在img标签中传递base64
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD">
答案 1 :(得分:1)
您尝试过res.send(img)
吗?
例如,如果您的API端点为/image
,则您的代码可能类似于:
app.get('/image', (req, res) => {
rp(options).then(img => res.send(img))
.catch(err => console.log(err));
});
然后在您的HTML客户端上:
<img src="/image"/>
答案 2 :(得分:1)
这就是我最终这样做的方式
GDB configure