2013-07-02 78 views
2

我正在使用HTML。我已經在我的文件系統中放置了一個XLSX文件,並通過錨標籤在HTML文件中給出了一個鏈接,如下所示。文件下載在IE瀏覽器中無法正常工作?

<a class="someClass" href="SampleFile.xlsx" target="_blank" type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">DownloadFile</a> 

但問題是它在IE中不起作用。在IE瀏覽器xlsx文件下載爲Zip文件比xlsx文件。但在Firefox中,它按預期工作。

在IE:

enter image description here

在FF:

enter image description here

我怎麼能告訴IE下載文件XLSX文件,而不是壓縮文件?

謝謝!

+0

您使用的是Apache服務器嗎?承載這些ms文件? –

+0

我正在使用Tomcat。 – user755806

+0

這很可能是因爲Web服務器爲.xslx擴展名發送了錯誤的Content-type頭。不知道如何解決,但在Tomcat中。 –

回答

3

您需要在服務器上設置正確的「內容類型」和/或「內容處置」標題。您不能在HTML中單獨使用Internet Explorer,但您可以在服務器端(例如使用PHP,ASP或任何其支持的服務器)或通過配置該文件託管的Web服務器來執行此操作(例如Apache或IIS)爲具有給定擴展名的所有文件返回適當的頭文件。

看到這個答案的一些見解: Setting mime type for excel document

注:由於Internet Explorer公開設置,覆蓋此行爲,以及不同版本的Internet Explorer和Microsoft Office的一些頭默認情況下有不同的反應,你可能會發現它即使您在服務器上設置標題,也總是表現得有點不可靠。我在同一個組織上使用相同的操作系統和相同版本的Internet Explorer和Microsoft Office,在企業PC上遇到了不同的瀏覽器行爲,但無法找到導致不同行爲的根本原因(例如,實際下載和打開瀏覽器與應用程序中的開啓)其他瀏覽器似乎至少表現得一貫。

+0

注:我說「和/或」,因爲有多種方法可以做到這一點(取決於您是否希望始終下載文檔,在現有瀏覽器窗口中打開文檔,還是在新的Excel窗口中打開文檔)。就我個人而言,我會嘗試通過配置Web服務器將文件擴展名識別爲Excel來嘗試設置適當的內容類型。 –

相關問題