【发布时间】:2017-09-09 00:41:12
【问题描述】:
我将图像保存在我的数据库中,并使用以下代码检索它们
var base64 = Convert.ToBase64String(image.Content);
var imgSrc = String.Format("data:image/gif;base64,{0}", base64);
<div class="img">
<a><img src="@imgSrc"></a>
</div>
问题是,每次我刷新页面时,它们都会被再次下载。如何将它们存储在缓存中?
【问题讨论】:
-
如果您使用OutputCacheAttribute 标记您的操作并提供缓存响应的持续时间,那么浏览器将缓存您的视图内容。
-
假设您将图像(base64 编码)嵌入到您提供给浏览器的页面中,浏览器无法缓存单个图像(它可以缓存请求的整个结果,而不仅仅是其中的一部分因为您的base64图像在这种情况下。如果您强制浏览器要求单独的资源(如在常见的
<img src="something">标签中,您可以在响应头中设置缓存属性
标签: c# asp.net-mvc image