FileContentResult 以 jpg 形式返回,但 IE "Save picture as"只提供 png 或 bmp



我有一个MVC 4控制器方法返回FileContentResult如下:

[OutputCache(CacheProfile = "ImageCache")]
public FileContentResult GetImage(string dl)
{
    return File(photoSig.BinaryPhoto, "image/jpeg", "photo.jpg");
}

ImageCache定义如下:
<caching> <outputCacheSettings> <outputCacheProfiles> <add name="ImageCache" duration="1" varyByParam="*" location="Server" enabled="true" /> </outputCacheProfiles> </outputCacheSettings> </caching>

除了在IE中,一切正常,当用户将图片保存为...时,它仅使他们可以选择保存为PNG或BMP。JPG为什么不这样做?Chrome和ff提供JPG选项。

另一个有趣的观点是,它在我的本地盒子上正常工作,但在部署时效果不佳……这使我认为这可能是一个配置问题。但是我不知道从哪里开始寻找。JPG的IIS MIME类型是在UI服务器上定义的。

我相信这个问题与无存储的缓存控制标头有关。有关更多信息,请参阅此链接:http://social.technet.microsoft.com/forums/windows/en-us/e1f5c13b-92f0-4aa7-4aa7-83b5-344edbe4093d/-pro-sp3?论坛= itproxpsp

我们最终添加了IIS重写规则来解决问题...因此,当它说没有存储JPG文件时,我们将其更改为公共或私人之类的东西。然后我可以保存为JPG。

相关内容

  • 没有找到相关文章

最新更新