如何通过单击链接在另一个浏览器实例中打开页面

时间:2010-03-22 15:34:13

标签: html asp.net-mvc browser

我有一个链接

<a id="DownloadLink" href='controller/action' target="_blank">Download File</a>

必须在另一个标签页或页面中打开图像。但它让我下载文件。 我的行为看起来像这样

public FileContentResult GetSurveyFile(int Id)
        {
            if (Id == 0)
                return null;
            Survey survey = Repository.GetItem(Id);
            if (survey.File == null)
                return null;

            return File(survey.File.FileContent.ToArray(), survey.File.ContentType,survey.File.Name);
        }

其中内容类型为 image / jpeg

怎么了?

2 个答案:

答案 0 :(得分:5)

浏览器如何处理图像文件取决于浏览器/操作系统/用户首选项。为了绝对保证它被打开而不是下载,只需将图像包装在和html页面中,其中图像是身体中唯一的东西。

答案 1 :(得分:2)

这没有任何问题 - 如果您将数据发送到设置了mime类型的浏览器,它可能决定提供下载而不是显示内容。例如,大多数浏览器都设置为下载MP3文件。

在您的方案中,浏览器决定下载图像。

您可以通过将其嵌入HTML页面来显示它 - 这将确保它显示在所有浏览器中,而不是下载 - 并且用户可以使用常规方法从网页中保存图像。 / p>

...
<body>
    <img src="your-c#-page" />
</body>
....