我有以下代码:
public FileResult GetImage(int id = 0)
{
return File(MyImage, "image/jpg", $"{id}.jpg");//MyImage ==> byte[]
}
我想在新标签中打开它:
<a target="_blank" href="/Home/GetImage/2">
<img src="/Home/GetImage/2"/>
</a>
但不幸的是,它开始下载而不是在新标签中打开它。这有什么问题?
答案 0 :(得分:2)
通过删除fileDownloadName
参数解决了问题:
public FileResult GetImage(int id = 0)
{
return File(MyImage, "image/jpg");
}
基于它documentation使用fileDownloadName
参数是因为:
在浏览器中显示的文件下载对话框中使用的文件名。
答案 1 :(得分:0)
这可能是因为"image/jpg"
不是有效的MIME类型。
您要找的是"image/jpeg"
(请注意jpeg中的“e”?)。浏览器无法识别"image/jpg"
并尝试下载。
答案 2 :(得分:0)
FileResult
设置Content-Disposition
标题,告诉浏览器将其作为下载服务。
您应该使用Intel C++ compiler forum,但不会设置该标头。