如何使用节点js的ejs模板引擎显示图像标签?

时间:2015-04-04 05:14:01

标签: node.js image mongodb ejs

一些背景信息:我正在使用带有快速框架的node.js以及mongo和passport.js

所以基本上我能够通过FB登录登录我的应用程序,并检索一些信息,如用户名,令牌,ID,displayName和照片。然后将此数据保存到我的DB(mongo)中。

除了图像,我可以使用ejs语法读取视图中的所有数据。

在我看来,我有以下代码:

<%= user.facebook.profilePic %>

返回以下输出:

https://graph.facebook.com/Grace Yip/picture?type=large

但是当我在浏览器中浏览此网址时,我收到以下错误消息

error: {
      message: "(#803) Some of the aliases you requested do not exist: Grace      Yip",
      type: "OAuthException",
      code: 803
}

我尝试将数据的输出放在图像标记中,如下所示:

<%= img_tag( user.facebook.profilePic ) %>

但后来我收到错误说:错误:无法查找视图&#34;错误&#34;在views目录&#34; / Users / Grace / Desktop / QA / views&#34;。

当我删除img_tag代码时,视图会再次运行。

我知道如何展示图片......我很茫然。

提前致谢!

问候,

格雷斯

2 个答案:

答案 0 :(得分:0)

您需要使用JavaScript内置函数encodeURI对URI进行编码,因为URI中包含的空格无效:

<%= img_tag(encodeURI(user.facebook.profilePic)) %>

答案 1 :(得分:0)

我正在使用 user.facebook.profilepic是bson字符串路径图像http来自图表facebook api with passport.js你可以尝试申请bson str路径

.ejs文件中的

<img src="<%= user.facebook.profilepic %>" alt="">