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

标签 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

如有任何帮助,我们将不胜感激。

最佳答案

设置响应类型为image/png。

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

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

关于node.js - 如何使用 Express/Node.js 将图像发送到客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29157732/

相关文章:

java - Android Studio - 从 Google Places Details API 电话号码解析 JSON,首次运行时给出 null

javascript - 我如何使用 Express/Mongoose 将模型引用到我的用户模型

node.js - [nodejs]expressjs如何销毁过期的session?

javascript - 运行多核机器的 Express JS 应用程序中的全局对象最佳实践

javascript - 与 react 一起使用时,express 无法获取错误

ios - Google Places 的 Google API key 问题

android - 获取所有已注册地理围栏的列表

javascript - 未获取正确的 URL 路径 - URL 路径为 :/favicon. ico

node.js - 基于 Node.js Express 的应用程序的 UML 类图?

node.js - Mongoose - 如何在自定义类型上添加 2dsphere 索引?