Firefox向OpenXML电子表格文件添加了错误的扩展,并且设置了良好的MIME类型

问题描述:

我正在创建一个使用脚本FileSaver.js(https://github.com/eligrey/FileSaver.js)来使用户下载OpenXML文件的网页。Firefox向OpenXML电子表格文件添加了错误的扩展,并且设置了良好的MIME类型

下面是下载使用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); 
    } 
} 

我曾尝试使用XML编辑器(在许多MIME类型和扩展,他们要么开软从办公室,决定用软打开XML文件)或直接与Excel(我想要的),但Firefox添加.xml后的.xls,以便使excel拒绝打开一个file.xLs.xml。

我在网上找不到类似的问题,所以如果我至少可以对造成这种问题的想法有所了解,我将不胜感激!

我一开始想到Windows注册表,但这个问题似乎只发生在Firefox上。

+1

我在这里找到了一个类似的帖子[SO post](https://*.com/questions/45009711/firefox-add-wrong-extention-to-openxml-spreadsheet-file-with-supposed-good-mime)看起来似乎有一个报告的错误 –

我在这里找到一个类似的帖子Firefox add wrong extention to OpenXML spreadsheet file with supposed good MIME type

它看起来像一个报告的错误。

虽然这个小故障似乎还没有得到证实。

但你不能尝试与MIME类型vdn.application/xml