在我的應用程序中,我有一個文件夾結構,您可以上傳各種文件(jpg,png,pdf,txt等)。您可以直接下載它們作爲文件或者您可以在瀏覽器中查看該文件。ASP.Net MVC:在瀏覽器中顯示文件,在瀏覽器標籤中顯示文件名
要顯示在瀏覽器中的文件,我用的是如下因素控制器動作:
public virtual ActionResult FileDisplay(int fileId, bool isFile)
{
var viewmodel = _presenter.GetDocumentDisplayViewModel(fileId, isFile);
return base.File(viewmodel.Data, viewmodel.MediaType);
}
該文件顯示在瀏覽器這樣的: https://i.stack.imgur.com/TXmTy.jpg
瀏覽器選項卡顯示我的控制器的名字「 FileDisplay「和(對於這個例子)圖像的尺寸。
問題: 如何在瀏覽器標籤標題中顯示文件名而不是控制器名稱?這適用於所有文件類型。
1.內容Dispostion頭
我發現幾個職位,他們說的內容處理標頭添加到與文件名的響應:
- Returning a file to View/Download in ASP.NET MVC
- Make a file open in browser instead of downloading it
但這不起作用。
2.添加文件名,文件構造
return base.File(viewmodel.Data, viewmodel.MediaType, viewmodel.FileName);
如果我這樣做,該文件是在瀏覽器中顯示代替下載。
3 PDF文件標題
我發現,有時候瀏覽器分頁標題是正確的!如果我在具有文件標題(標題爲pdf屬性,而不是文件名)的瀏覽器中顯示PDF文件,則瀏覽器標題是正確的: https://i.stack.imgur.com/orAZS.jpg
有人可以幫助我嗎?
嘗試更改.cshtml頁面中的「ViewBag.Title」。 – Nitin
直接返回文件時沒有.cshtml頁面。 –
糟糕你是對的,我沒有看到它。你可以在你的控制器「ViewBag.Title」中試試這個。它可能工作。 – Nitin