【发布时间】:2018-12-30 14:21:31
【问题描述】:
当需要时,React 会使用 Superagent 请求图像:
exports.getImgFromSection=function(id,request){
request
.get('/img/'+id)
.end((error, response) => {
if (!error && response) {
console.log(response.file);
}
else {
console.log('There was an error fetching server', error);
}
})
}
Node.js 这样回答:
app.get("/img/:id",function(req, res){
// check if exists and then
res.sendFile(path.join(__dirname, './data/img/'+req.params['id']+'.png'));
});
但我不知道如何在 React 中获取图像。
console.log(response.file) 未定义。
console.log(response.files[0]) 未定义。
console.log(response.body) 为空。
console.log(response) 给我:
如何在 var 中获取图像?谢谢。
解决方案:
在 node.js 中:
var img = fs.readFile('./data/imagesUploaded/image.png', function (err, data) {
var contentType = 'image/png';
var base64 = Buffer.from(data).toString('base64');
base64='data:image/png;base64,'+base64;
res.send(base64);
});
反应:
request
.get('/img/'+imgID)
.end((error, response) => {
if (!error && response) {
this.setState({img1:response.text})
} else {
console.log('There was an error fetching server', error);
}
})
【问题讨论】:
标签: node.js reactjs image superagent sendfile