2010-03-22 68 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> 
....