有人可以幫助我,我只是無法弄清楚什麼是錯的。mvc 3在新窗口中打開上傳的文件
方案:員工可以上傳文件(doc,docx或pdf)。這些文件顯示在一個表格中。當他們點擊名稱時,文件應該在新窗口中打開。
現在我可以上傳一個文件。該文件保存在上傳文件夾和數據庫中。上傳的文件顯示在一個表格中,但是當我單擊文件的名稱時,文件將被下載而不是在新窗口中打開。我嘗試了幾件事,但我總是得到相同的結果。
我將包括控制器和下一個視圖。
控制器:
//To view the files in a table.
public ActionResult ShowUploadedFiles()
{
return View(db.UploadedFiles.ToList());
}
//To open a file
public ActionResult OpenFile(string fileName)
{
var fs = System.IO.File.OpenRead(Server.MapPath("~/Uploads/" + fileName));
return File(fs, "application/pdf", fileName);
}
查看
@foreach (var file in Model)
{
<tr>
<td>@Html.DisplayFor(f => file.FileDate)</td>
<td>@Html.DisplayFor(f => file.Employee.FullName)</td>
<td><a href="/Uploads/@file.FileName" target="_blank">@file.FileName</a></td>
<td>@Html.DisplayFor(f => file.FileName)</td>
<td>@(file.FileSize/1000)kb</td>
<td><a href="@Url.Action("OpenFile", new { fileName=file.FileName})" target=_blank>@file.FileName</a></td>
</tr>
}
第一HREF 「作品」。當我點擊它時,pdf會在新窗口中打開,但docx文件已下載。當我在新窗口中自己輸入網址時,我得到了相同的結果(pdf已打開,docx已下載)。當我點擊第二個href時,兩個文件都被下載了。
有什麼不對嗎,還是因爲我在Chrome中這樣做? (我剛剛在資源管理器9中檢查過,結果相同)
謝謝大家的意見!在這種情況下,我會選擇只接受pdf,並讓他們選擇查看或下載文件 –