2010-04-08 33 views
1

我想要送這樣我的PDF文件到我的用戶:如何創建一個可以捕獲所有pdf文件的路由?

public ActionResult GetPDF(string filename) 
{ 
    return File(filename, "application/pdf", Server.HtmlEncode(filename)); 
} 

但我不知道如何創建,將捕獲所有不同的PDF文件在我的網站的路線?

非常感謝您的幫助!

+0

你如何想要那些PDF的網址看起來像? – 2010-04-09 06:27:42

+0

www.website.com/anything/anything/filenam.pdf,但它可以嵌套在我的網站的許多級別,因爲用戶可以將PDF放在CMS的任何頁面中。 – VinnyG 2010-04-09 13:50:25

+0

任何人有想法?可能嗎? – VinnyG 2010-04-11 14:07:49

回答

0

試試這個..

string FilePath = MapPath("your.pdf"); 
Response.ContentType = "Application/pdf"; 
Response.AppendHeader("content-disposition", "attachment; filename=" + FilePath); 
Response.WriteFile(FilePath); 
Response.End(); 

編輯:

Oups剛看到它的MVC ...

嘗試返回之前還是附加了頭......

+0

它的工作,我簡單添加的內容-disposition頭在我PDFDownloadHandler這樣 公共重寫字符串GetRequestedFileMimeType(HttpContext的上下文) { context.Response.AppendHeader( 「內容處置」, 「附件;文件名=」 +上下文.Request.PhysicalPath); 返回「application/pdf」; } – VinnyG 2010-04-12 16:35:43

+0

非常感謝分享 – 2010-04-12 17:12:36

0

我找到了一種方法做什麼,我試圖做只是讀此鏈接:http://forums.iis.net/t/1162518.aspx或這一個http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP-NET.aspx

它不是通過路由但在IIS中的處理程序。

如果有人有更好的解決方案,請讓我知道:)

編輯:

它真的不是偉大的工作,你可以在這裏看看:http://www.ville.st-augustin.qc.ca/carte-interactive點擊「卡片式zonage」標籤然後在任何Adobe圖標,它不工作,因爲它應該是...任何幫助表示讚賞!

相關問題