2012-04-03 39 views
0

所以我的客戶給了我一個創建的MVC站點,並設置了我的另一個供應商。我從來沒有與MVC合作過,所以我正在學習。我爲客戶提供了一個到PDF的鏈接的小型更新日期,然後這個鏈接將在瀏覽器窗口中打開。我添加了PDF並在Controller中添加了新的路由和操作。以下是我的代碼添加:ASP.NET MVC重定向到PDF,但在開發服務器上獲得404

首頁控制器代碼

public ActionResult ViewPDF() 
{ 
    return Redirect("Assets/PDF/myPDF.pdf"); 
} 

航線代碼

routes.MapRoutesLowercase(
    "Home-ViewPDF", 
    "myPdf.pdf", 
    new { controller = "Home", action = "ViewPDF" } 
); 

HTML代碼

<a href="<% Url.Action("ViewPDF", "Home") %>"></a>" 

現在,當我在本地測試鏈接的作品,一切都很好。 當我宣傳到我的開發服務器時,我點擊鏈接,然後收到「無法找到該頁面」。但我知道該文件在服務器上,因爲如果我在pdf中輸入路徑沒有問題。

我已經看過每一個地方,但無法找到任何網上接近我所尋找的東西,據我所知。

我應該注意,在我使用控制器中的重定向之前,我正在使用FileResult並返回類型爲application/PDF的文件。然而,當我在調試時,我嘗試了當前的方法,就像我說的那樣,它在本地工作,但不在DEV上。

任何幫助將是非常有幫助的! 謝謝!

+0

您是否檢查過dev服務器上的MIME類型?確保列出了PDF。 – 2012-04-03 18:09:08

+0

我在多個項目中使用服務器,在這些項目中,我使用非MVC網站完成相同類型的工作,並且工作正常。它可能是IIS特定的東西? – jpalladino84 2012-04-03 18:12:37

回答

0

您不應該直接鏈接到文件。

更改文件夾結構將導致應用程序池回收一個。

看一看:MVC open pdf file

+0

正如我所說的我之前使用該方法是好的,我已經把所有的代碼註釋掉了。但是,這並不能解決我的問題,因爲問題仍然存在於您建議的解決方案中。 – jpalladino84 2012-04-03 18:14:29

+0

如果您獲得FileResult的狀態404,則表示您可能未達到您的操作。你有沒有試過只是返回一些純HTML /文本來看看發生了什麼?也許檢查http流量? – 2012-04-03 18:19:42

相關問題