Spring MVC(和angularjs) - 检索图像:Chrome中

时间:2015-05-11 07:15:36

标签: java angularjs spring spring-mvc gridfs

我已将图像存储在我的数据库中,需要在他的网络浏览器上将这些图像提供给用户。

我的问题是,以下为这些图像提供服务的方法会导致我的webbrowser占用大量内存(600 MB)。我知道这个问题的原因是因为如果我返回null,那么内存使用率几乎保持不变并且很低。

我只是调用这种方法来访问5张图像。全部不超过5 mb。

我正在显示图像,然后在我的视图中调用以下内容(angularjs):

<img ng-src="http://localhost:8080/myapp/show/{{user.id}}"

非常感谢任何提示/建议。

1 个答案:

答案 0 :(得分:1)

Web浏览器客户端增加的内存消耗只能由发送到http://localhost:8080/myapp/show/{{user.id}}的过多请求以及在角度内的客户端中检索。

使用Angular的应用程序往往会在浏览器中消耗内存,但这种方式很多。您可以做的是在Spring MVC应用程序中使用ShallowETagHeaderFilter,这样如果图像文件没有更改,它将不会将文件发送到Angularjs应用程序。如果图像未更改,这将返回304 "Not Modified",以便浏览器可以从缓存加载它。

注意:

ShallowETagHeaderFilter仍会消耗处理周期,但会节省带宽和浏览器内存。