使用URL图像源进行Web浏览器图像缓存

时间:2015-10-05 13:10:25

标签: html asp.net-mvc-5

我有一个API,可以将存储在远程网站上的图像提供给ASP MVC网站。

该网站包含一个带有Get方法的控制器,该方法根据传递的文件名返回图像。

    [HttpGet]
    public ActionResult Get( string fileName )
    {
        byte[] imageBytes = _apiService.GetImage( fileName );

        using ( MemoryStream streak = new MemoryStream( imageBytes ) )
        {
            return File( streak.ToArray(), string.Format( "image/{0}", Path.GetExtension( fileName ).Replace( ".", "" ) ) );
        }
    }

然后我使用以下代码在网页上显示图像。

<img class="centred-image item-image img-responsive cateogry-image" src="/Images/Get?fileName=football5.jpg" alt="product">

但是,图像不会在浏览器中缓存,每次刷新都会请求/转移。如何更改我的实现以允许图像缓存?

1 个答案:

答案 0 :(得分:0)

如果将其添加到控制器会发生什么:

    [OutputCache(Duration=3600, VaryByParam="none", Location=OutputCacheLocation.Client)]
    [HttpGet]
    public ActionResult Get( string fileName )