我有一個.csv
文件我想讓用戶下載。這是一個靜態文件,我已經爲該文件設置了超鏈接。IE顯示csv文件而不是下載
它在Firefox和Chrome上運行良好,但在IE中,csv文件顯示在瀏覽器中而不是被下載。
我找到的所有解決方案都需要通過服務器發送文件。但我覺得,爲了提供簡單的靜態文件,這太多了。當然必須有一個更簡單的方法。
我在JBoss服務器中託管了一個struts Web應用程序。
任何解決方案?
我有一個.csv
文件我想讓用戶下載。這是一個靜態文件,我已經爲該文件設置了超鏈接。IE顯示csv文件而不是下載
它在Firefox和Chrome上運行良好,但在IE中,csv文件顯示在瀏覽器中而不是被下載。
我找到的所有解決方案都需要通過服務器發送文件。但我覺得,爲了提供簡單的靜態文件,這太多了。當然必須有一個更簡單的方法。
我在JBoss服務器中託管了一個struts Web應用程序。
任何解決方案?
你可以嘗試添加mime-mapping
您web.xml
<mime-mapping>
<extension>csv</extension>
<mime-type>application/octet-stream</mime-type>
</mime-mapping>
謝謝。它的工作... – Thihara
使用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/
我已經知道這一點。但我的問題是,我必須通過一個動作來運行它才能提供靜態文件嗎?當然必須有更好的辦法.. – Thihara
發送標題:'內容處置:附件;文件名= abc.csv'。 – SuperSaiyan
我不認爲我可以在HTML或JavaScript中做到這一點。我可以嗎? – Thihara
不,您需要將您的網絡服務器配置爲發送該標頭。對不起,我不知道你怎麼用jboss做到這一點。 – SuperSaiyan