Firefoxでの自動ダウンロード


問題

Microsoft Excelを自動的にダウンロードしたい時、以下のコードは普通だと思われます。

profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,";

「application/vnd.openxmlformats-officedocument.spreadsheetml.sheet」はMicrosoft ExcelのMIMEタイプです。しかし、相変わらず、「毎回確認する」というダイアログがでてきます。

解決方法

ファイルのMIMEタイプは問題です。確かにExcelのMIMEタイプは正しいですが、Firefoxから見れば、ダウンロードファイルのMIMEタイプは違います。

Firefox -> ウェブ開発 -> ネットワーク(ctrl + shift + ) から見えます。

上の図から、Firefoxが見たダウンロードファイルのContent-Typeはapplication/force-downloadです。だから、以下のコードを試して、ファイルは自動的にダウンロードされました。

profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
                "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, "
                + "application/force-download");