2010-08-10 94 views
4

我使用下面的代码片段在MVC行动在HTML图像标记返回图像:为什么图像未在浏览器中打开?

byte[] bytes = System.IO.File.ReadAllBytes(fileLocation); 
string fileType = "application/octet-stream"; 
FileContentResult fcr = new FileContentResult(bytes, fileType); 
fcr.FileDownloadName = fileName; 
return fcr; 

图像标签的src属性看起来是这样的:SRC =“/ myController的/ MyAction /的fileInfo “

它的工作原理和图像显示在网页中。但是,如果我尝试在浏览器中自行打开图像,浏览器会询问我应该使用哪种图像查看器来打开此资源。如果图像静态链接到网站上,则浏览器将打开图像。

在代码中需要更改哪些内容才能使浏览器打开此图像?

(我已经尝试了一些不同的内容,结果类型也有几个不同的文件类型,但还没有找到合适的组合呢。)

回答

3

你必须设置响应的MIME类型到适当的图像类型(例如:image/jpeg)而不是application/octet-stream。

+0

我曾尝试过,并没有奏效。我现在发现它不适用于Firefox,但可以在IE,Chrome和Opera上运行,所以我猜测这可能是Firefox设置。当我测试它时,我最初在所有浏览器上进行了测试,然后在Firefox上完成了后续测试,这就是为什么我没有捕获它。再次感谢。 – Guy 2010-08-10 15:23:44