2012-11-01 64 views
0

我有一個.csv文件我想讓用戶下載。這是一個靜態文件,我已經爲該文件設置了超鏈接。IE顯示csv文件而不是下載

它在Firefox和Chrome上運行良好,但在IE中,csv文件顯示在瀏覽器中而不是被下載。

我找到的所有解決方案都需要通過服務器發送文件。但我覺得,爲了提供簡單的靜態文件,這太多了。當然必須有一個更簡單的方法。

我在JBoss服務器中託管了一個struts Web應用程序。

任何解決方案?

+0

發送標題:'內容處置:附件;文件名= abc.csv'。 – SuperSaiyan

+0

我不認爲我可以在HTML或JavaScript中做到這一點。我可以嗎? – Thihara

+0

不,您需要將您的網絡服務器配置爲發送該標頭。對不起,我不知道你怎麼用jboss做到這一點。 – SuperSaiyan

回答

2

你可以嘗試添加mime-mappingweb.xml

<mime-mapping> 
    <extension>csv</extension> 
    <mime-type>application/octet-stream</mime-type> 
</mime-mapping> 
+0

謝謝。它的工作... – Thihara

0

使用stream result type。所以你struts.xml配置可能包含這樣的內容:

<result name="success" type="stream"> 
    <param name="contentType">text/csv</param> 
    <param name="inputName">inputStream</param> 
    <param name="contentDisposition">attachment;filename="document.csv"</param> 
    <param name="bufferSize">1024</param> 
</result> 

這裏有一個例子,在http://www.mkyong.com/struts2/struts-2-download-file-example/

+0

我已經知道這一點。但我的問題是,我必須通過一個動作來運行它才能提供靜態文件嗎?當然必須有更好的辦法.. – Thihara

相關問題