在MEAN堆栈应用程序中显示图像(提供图像)的有效方法?

时间:2015-10-23 14:10:58

标签: javascript angularjs node.js mongodb mean-stack

我正在开发一个MEAN堆栈应用程序,我想显示带有一些响应的图像。 确切要求:有搜索框,当用户输入图像名称时,服务器应响应该图像并浏览器显示该图像。 我最多有70张图片,最大尺寸为30kb。 我应该将它们存储在mongoDB中,并且每个请求节点服务器都会点击mongodb并在响应中提供该图像,或者我使用Angular.js服务它? 请推荐有效的方法。

2 个答案:

答案 0 :(得分:2)

你可以在你的expess.js配置中为静态内容(CSS,图像等)设置一个文件夹,你可能会发现这样的事情:

app.use(express.static(path.resolve('./public')));
app.use('/images',express.static(path.resolve('youPathToStaticimages')));

然后使用图像元数据创建一个集合,例如文件名,大小,上传日期,友好名称和标签或您可以查询的任何其他字段。

然后使用端点/ $resource组合并检索数据并使用简单的HTML图像标记(IMG)在客户端中显示图像,并使用ng-src,可能在ngRepeat中。

对于我来说,这可能是最简单的方法,您也可以在apache或ngnix中为图像文件夹设置某种缓存策略。

答案 1 :(得分:0)

您可以轻松缓存超过2mb的数据。从数据库转移到Web服务器或从磁盘检索是额外的工作。将所有图像加载到节点线程中,并在关键字到达时发送缓存的图像。