我正在开发一个平均堆栈应用程序,我想显示一些响应的图像。具体要求:有搜索框,当用户输入图像名称时,服务器响应该图像,浏览器显示该图像。我有最大的70个图像大小30KB最大。我应该将这些存储在mongoDB中,并且对于每个请求节点,服务器应该点击mongoDB并在响应中提供该映像,还是使用Angular.js提供该映像?请推荐这样做的有效方法。
您可以为静态内容(CSS、图像等)设置一个文件夹,在expess.js配置中这样做,您可能会发现如下所示:
app.use(express.static(path.resolve('./public')));
app.use('/images',express.static(path.resolve('youPathToStaticimages')));
然后创建一个包含图像元数据的集合,如文件名、大小、上载日期、友好名称,可能还有标签或任何其他可以查询的字段。
然后使用endpoint/$Resource组合,检索数据并在客户端中使用简单的HTML image tag(IMG)显示图像,并使用ng-src(可能在ngrepeat中)。
对我来说,这可能是最简单的方法,您还可以在apache或NGNIX中为您的映像文件夹设置某种缓存策略。
您有2MB多一点的数据,可以很容易地缓存。从数据库传输到web服务器或从磁盘检索都是额外的工作。将所有图像加载到节点线程中,当关键字通过时,发送缓存的图像。