在 MEAN 堆栈应用程序中显示图像(服务图像)的有效方法?
Efficient way to display images(serve images) in MEAN stack application?
我正在开发一个 MEAN 堆栈应用程序,我想显示带有一些响应的图像。
确切要求:有搜索框,当用户输入图像名称时,服务器应响应该图像,浏览器显示该图像。
我最多有 70 张图像,最大尺寸为 30kb。
我应该将这些存储在 mongoDB 中,并且对于每个请求节点服务器点击 mongodb 并在响应中提供该图像,还是我使用 Angular.js 提供?
请推荐有效的方法。
您可以为静态内容(CSS、图像等)设置一个文件夹,在您的 expess.js 配置中执行此操作,您可能会发现类似这样的内容:
app.use(express.static(path.resolve('./public')));
app.use('/images',express.static(path.resolve('youPathToStaticimages')));
然后使用图像元数据创建一个集合,例如文件名、大小、上传日期、友好名称以及标签或您可以查询的任何其他字段。
然后使用端点/$resource combination and retrieve the data and display the images in the client with a simple HTML image tag (IMG) and use ng-src,可能在 ngRepeat 中。
对我来说,这可能是最简单的方法,您也可以在 apache 或 ngnix 中为图像文件夹设置某种缓存策略。
您有 2mb 多一点的数据,可以轻松缓存。从数据库传输到 Web 服务器或从磁盘检索是额外的工作。将所有图像加载到您的节点线程中,并在关键字通过时发送缓存的图像。
我正在开发一个 MEAN 堆栈应用程序,我想显示带有一些响应的图像。 确切要求:有搜索框,当用户输入图像名称时,服务器应响应该图像,浏览器显示该图像。 我最多有 70 张图像,最大尺寸为 30kb。 我应该将这些存储在 mongoDB 中,并且对于每个请求节点服务器点击 mongodb 并在响应中提供该图像,还是我使用 Angular.js 提供? 请推荐有效的方法。
您可以为静态内容(CSS、图像等)设置一个文件夹,在您的 expess.js 配置中执行此操作,您可能会发现类似这样的内容:
app.use(express.static(path.resolve('./public')));
app.use('/images',express.static(path.resolve('youPathToStaticimages')));
然后使用图像元数据创建一个集合,例如文件名、大小、上传日期、友好名称以及标签或您可以查询的任何其他字段。
然后使用端点/$resource combination and retrieve the data and display the images in the client with a simple HTML image tag (IMG) and use ng-src,可能在 ngRepeat 中。
对我来说,这可能是最简单的方法,您也可以在 apache 或 ngnix 中为图像文件夹设置某种缓存策略。
您有 2mb 多一点的数据,可以轻松缓存。从数据库传输到 Web 服务器或从磁盘检索是额外的工作。将所有图像加载到您的节点线程中,并在关键字通过时发送缓存的图像。