如何在不设置 Content-Disposition 标签的情况下从控制器返回图像?
Posted
技术标签:
【中文标题】如何在不设置 Content-Disposition 标签的情况下从控制器返回图像?【英文标题】:How to return image from controller without setting Content-Disposition tag? 【发布时间】:2010-12-02 15:01:21 【问题描述】:所以我使用 MVC 2 从控制器动作中提供一些图像。一般智慧(1、2、3)似乎是使用FileResult
类型之一(FileStreamResult
、FileContentResult
或 `FileContentResult')。
但是,所有三个具体的FileResult
都将Content-Disposition
响应标头设置为attachment; filenameYourFileNameHere=UTF-8
。最终结果是,如果用户直接查看我的图像,而不是嵌入在 html 中,浏览器会显示一个保存对话框,而不是显示图像。我希望图像只显示在浏览器中。
我想这是我的问题:使用 MVC 2 在图像不标记为下载的情况下,返回图像结果的适当方法是什么?
【问题讨论】:
【参考方案1】:MVC 框架使用 FileResult.FileDownloadName 属性来确定是内联发送内容还是作为附件发送。如果您直接实例化 FileResult 派生类型,请不要设置其 FileDownloadName 属性。或者,如果您使用的是 Controller.File 工厂方法,请调用不带 fileDownloadName 参数的重载(或为该参数传入 null)。
【讨论】:
以上是关于如何在不设置 Content-Disposition 标签的情况下从控制器返回图像?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不影响 SYSTEM/IE 代理的情况下为 Webbrowser Control 设置代理
如何在不引发事件的情况下设置 checkbox.isChecked
如何在不注销并重新登录的情况下重新加载 .bashrc 设置?
如何在不使用用户设置的情况下在运行时读取/写入 app.config 设置?
如何在不调用 textViewDidChangeSelection 的情况下设置 NSAttributedString 属性?