2010-03-22 73 views
2

上打开另一个浏览器实例的页面我有一个链接如何通过单击链接

<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); 
     } 

其中内容类型是图像/ JPEG

什么错?

+0

您的浏览器配置如何处理“图像/ JPEG” MIME类型? – korona 2010-03-22 15:38:38

+1

这里的问题是'Content-Disposition'头文件。 – SLaks 2010-03-22 15:40:14

+0

我该如何更改内容配置? – CoffeeCode 2010-03-22 16:11:52

回答

5

浏览器如何处理图像文件取决于浏览器/操作系统/用户首选项。为了绝对保证它是开放的而不是下载的,只需将图像包装在HTML页面中,图像是唯一的内容。

2

这没有什么不对 - 如果您将数据发送到具有MIME类型集的浏览器,它可能决定提供下载而不是显示内容。例如,大多数浏览器都设置为下载MP3文件。

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

您可以通过将其嵌入到HTML页面中来显示它 - 这将确保它显示在所有浏览器中,而不是下载 - 并且用户可以使用普通方法从网页保存图像(如果他们愿意的话)。

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