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

时间:2015-03-20 01:06:02

标签: node.js express google-places-api

我正在编写一个与Google Places API集成的简单Express API,并尝试将地方照片发送到客户端,但无法使其正常运行。 Google Places API的响应如下所示:

enter image description here

响应对象还包含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);
    }
  });

});

但这似乎不起作用。我得到以下图片:

enter image description here

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

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

res.set({'Content-Type': 'image/png'});

要将此数据保存为客户端应用中的图片,请参阅here