如何使用 javascript/node js 从数据库中将图片动态加载到网页上

Posted

技术标签:

【中文标题】如何使用 javascript/node js 从数据库中将图片动态加载到网页上【英文标题】:How to dynamically load pictures onto webpage from databse using javascript/node js 【发布时间】:2014-03-04 00:26:24 【问题描述】:

我正在开发一个网络应用程序,我正在创建一个用户个人资料页面,我想在其中加载用户信息并显示个人资料图片。我正在使用节点/快递/玉。我有一个 javascript 文件,它处理单击选项卡时应加载的玉视图。例如,如果单击配置文件页面选项卡,我使用 jquery post 方法将数据加载给用户。我想加载图片,但我不确定 html/或翡翠表单的外观如何,或者我将如何使用我的 javascript 文件从数据库中发布图片。

我是否应该使用与发布图片相同的 javascript 文件?或者有没有其他方式加载图片?

我已经看到this 解决方案,但我想知道是否可以按照描述的方式这样做。

【问题讨论】:

取决于您存储图像的位置。如果它存储在文件结构而不是数据库中。您只需使用 img 标签引用图像。否则它会要求你从 nodejs 传递图像。 【参考方案1】:

好吧,如果您的问题是关于服务器端模板的,这应该可以解决问题:

你需要一个像这样的 img 标签:

img(src="<url to get method for user's profile picture>")

在 Express 中,您需要一个路由处理程序,例如:

app.get('/profile/image', function(req, res)

     //some code to find the path to the image associated with some user

     var img = fs.readFileSync('path to file');
     res.writeHead(200, 'Content-Type': 'image/gif' );
     res.end(img, 'binary');
)

您也可以使用异步方法并将文件写入回调的响应中。

对了,你见过Gravatar吗?使用 Gravatar 将产生类似的解决方案,但您可以避免存储和提供图像文件的需要。

【讨论】:

以上是关于如何使用 javascript/node js 从数据库中将图片动态加载到网页上的主要内容,如果未能解决你的问题,请参考以下文章

使用 JavaScript/Node.js 从 IP 地址获取两个字母的大陆代码

如何在 Javascript/Node.js 中访问函数的结果 [重复]

如何在 JavaScript node.js 中将 xml 文件解析为数组

如何使用 Node.js/JavaScript 合并两个按键值匹配的数组值

使用 javascript (Node.js) 规范化 URL

如何使用 JavaScript / Node js 存储对象中不匹配的字符串