2016-08-08 26 views
1

我需要在顯示它之前設置.pdf名稱。我試圖設置它像這樣設置.pdf名稱,但阻止與Rotativa一起下載

return new ViewAsPdf(GetViewName(), "", reportVM) 
{ 
    PageSize = Size.Letter, FileName = GetViewName() + "-" + DateTime.Now.ToShortDateString() + ".pdf" 
}; , 

但以這種方式.pdf將自動下載。是否可以設置.pdf名稱而不是下載它?

謝謝!

+0

是否要在網頁上顯示pdf?而不是要求用戶保存文件? –

+0

是的,我想要顯示它 –

+0

如果它在瀏覽器中顯示,它基本上是下載的,你永遠無法阻止它被下載。 – mxmissile

回答

1

經過長期的研究,答案是否定的。我唯一能做的就是用響應頭設置文件名並刪除屬性文件名,這樣的代碼現在:

Response.AppendHeader("Content-Disposition", "inline; filename=" +GetViewName() + "_" + DateTime.Now.ToShortDateString() + ".pdf"); 
return new ViewAsPdf(GetViewName(), "", reportVM) { PageSize = Size.Letter }; 

也許有更好的解決方案,但是這畢竟是我能得到的最好讀。希望它能幫助別人!

+0

如果你想顯示PDF,你可以通過'