Javascript Firefox向OpenXML电子表格文件添加了错误的扩展名,该文件具有假定的良好MIME类型
我正在创建一个网页,使用脚本FileSaver.js()让用户下载一个OpenXML文件 以下是使用Ajax下载文件、解压缩文件然后让用户下载的功能:Javascript Firefox向OpenXML电子表格文件添加了错误的扩展名,该文件具有假定的良好MIME类型,javascript,firefox,spreadsheet,openxml,mime-types,Javascript,Firefox,Spreadsheet,Openxml,Mime Types,我正在创建一个网页,使用脚本FileSaver.js()让用户下载一个OpenXML文件 以下是使用Ajax下载文件、解压缩文件然后让用户下载的功能: function dlExcel(){ var bOk = true; try { var isFileSaverSupported = !!new Blob; } catch (e) { bOk = false; alert("Votre navigateur ne support
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编辑器打开(office中的软件决定使用哪个软件打开XML文件),要么直接使用Excel打开(我想要),但Firefox在.XML之后添加了一个.xls,使Excel拒绝打开一个文件.xls.XML
我在网上找不到类似的问题,所以如果我至少能知道是什么原因引起的,我将不胜感激
起初我考虑的是Windows注册表,但这个问题似乎只发生在Firefox上,所以。我在这里找到了类似的帖子 它看起来像一个报告的bug 尽管这个小故障似乎还没有得到证实 但是你不能尝试mime类型
vdn.application/xml
我在这里发现了一个类似的帖子,看起来像是报告的bug