如何使用Express/Node.js将图像发送到客户端?

vic*_*jia 7 node.js express google-places-api

我正在编写一个与Google Places API集成的简单Express API,并尝试将地方照片发送到客户端,但无法让它工作.Google Places API的响应如下所示:

在此输入图像描述

响应对象还包含一个headers属性.我试过像这样发回图像:

 router.get('/photo/:photoRef', function (req, res) {

  var params = {
    maxwidth: 400,
    photoreference: req.params.photoRef,
    key: key
  };

  var url = baseUrl + 'photo?' + querystring.stringify(params);

  request(url, function (error, response, body) {
    if (!error && response.statusCode == 200) {
      res.type(response.headers['content-type']);
      res.send(response.body);
    }
  });

});
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我得到以下图像:

在此输入图像描述

任何帮助将不胜感激.

Abd*_*mon 4

将响应类型设置为 image/png。

res.set({'Content-Type': 'image/png'});
Run Code Online (Sandbox Code Playgroud)

要将此数据保存为客户端应用程序中的图像,请参阅此处