私は、スクリプトFileSaver.js(https://github.com/eligrey/FileSaver.js)を使ってOpenXMLファイルをダウンロードさせるWebページを作成しています。そして、ここでFirefoxはOpenXMLスプレッドシートファイルに間違った拡張子を付け加えました。
のAjaxを使用してファイルをダウンロードする機能であり、それを解凍し、ユーザーがそれをダウンロードします:
function dlExcel(){
var bOk = true;
try {
var isFileSaverSupported = !!new Blob;
} catch (e) {
bOk = false;
alert("Votre navigateur ne supporte pas l'expore des fichiers excel, veuillez le metre à jour.");
}
var oReq = new XMLHttpRequest();
oReq.open("GET", "AJXExcel.aspx", true);
oReq.responseType = "arraybuffer";
oReq.onload = function (oEvent) {
if (oReq.status == 503){
alert("Une erreur est survenue");
}
else if (oReq.status == 208){
alert("Le fichier demandé comporte trop de ligne, veuillez affiner votre recherche à l'aide des filtres poposé");
}else{
var arrayBuffer = new Uint8Array(oReq.response);
var gunzip = new Zlib.Gunzip(arrayBuffer);
var plain = gunzip.decompress();
var blob = new Blob([plain], {
"type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
});
if(oReq.status == 206)
alert("Le fichier généré comportait trop de lignes, il a donc été tronqué");
saveAs(blob,"resultats.xml");
}
document.getElementById("ctl00_ctl00_MenuContentPlaceHolder_MainContentPlaceHolder_loading").style.display = "none";
document.getElementById("ctl00_ctl00_MenuContentPlaceHolder_MainContentPlaceHolder_param").style.display = "block";
}
if (bOk){
oReq.send(null);
}
}
私は多くのMIMEタイプと拡張子を試してみましたが、彼らのいずれかのオープンは、XMLエディタを使用して(ソフトからXMLファイルを開くために使用するソフトを決定する)、またはExcel(私が望む)を直接使用することができますが、.xmlの後に.xlsを追加すると、.xmlを追加して、開くことができないfile.xLs.xmlを作成します。
私はウェブ上で同様の問題を見つけることができませんでした。なぜそれが原因なのか考えてもらえれば、私は感謝しています!
私は最初にWindowsレジストリを考えていましたが、この問題はFirefoxでのみ発生するようです。
私は同様の投稿を見つけました[SO post](https://stackoverflow.com/questions/45009711/firefox-add-wrong-extention-to-openxml-spreadsheet-file-with-supposed-good-mime)報告されているバグと思われる –