2012-02-01 48 views
0

我的問題很簡單,但我還沒有找到解決方案。我有一個文件夾,其中包含以pdf,doc和docx格式存儲的上傳簡歷。管理後臺頁面顯示每個用戶的簡歷鏈接。如果單擊鏈接到pdf或doc文件被下載/打開,但如果單擊指向docx的鏈接,則會顯示404錯誤頁面,並且如果將文件保存到桌面,並且打開的文字表示它已損壞,無法被打開。所有文件都可以在Web服務器上打開。正在檢索.docx文件

比使用代碼來下載文件相反,我的鏈接如下所示:http://www.site.com/test/resume/John_Doe_Resume.docx

我敢肯定有一個簡單的辦法。有其他人遇到這個問題嗎?

+1

你能後的代碼是服務於您的docx文件的功能? – 2012-02-01 00:31:54

+0

假設文檔很好,你有MS-Word或(閱讀器)兼容版本嗎?你從IE瀏覽器試過這個嗎? – NoChance 2012-02-01 00:34:47

+0

看起來像一個配置問題...確保您沒有爲IIS中的.docx擴展名配置一個特殊的處理程序 – 2012-02-01 00:34:53

回答

3

確保.DOCX已MIME類型的IIS的名單已成立:

Configure MIME Types (IIS 6.0)

IIS(7也對這個問題)會給出一個404錯誤,如果它不知道MIME類型對應於文件擴展名。如果它不存在(和它是不是默認的IIS 6),添加.DOCX用MIME類型的

application/vnd.openxmlformats-officedocument.wordprocessingml.document 
+0

它實際上沒有在IIS中設置。我將它添加到application/msword類型的MIME類型中。它仍然給出了404。我是新來的IIS,可能會丟失一步 – Robo 2012-02-01 00:43:31

+0

MIME類型不應該導致404錯誤。還有其他的錯誤。 – 2012-02-01 00:45:21

+0

IIS可能需要重新啓動。請注意,這將刪除所有連接等,因此不要在生產服務器上「只是這樣做」。從MSDN(長時間接觸IIS 6)開始:在IIS管理器中,右鍵單擊本地計算機,指向**所有任務**,然後單擊**重新啓動IIS **。在**你希望IIS做什麼**列表中,單擊重新啓動Internet服務* computername *。 – JimmiTh 2012-02-01 00:49:54

1

我敢打賭,框架將.docx擴展名視爲一種可執行文件;代碼或IIS試圖執行它,失敗。

檢查您的IIS配置文件擴展名執行,您的web.config和/或您的應用程序的路由表,我敢打賭,答案是在那裏。