下载文件时的文件名问题

Filename issue when downloading file

在 edge 中,我正在访问一个 JSP 页面,该页面 returns 我有一个文件。它在 chrome 中完美运行,但在 Edge 和 Internet Explorer 中,我将 mime 类型附加到文件名。

这是回复header:

Edge 让我保存文件,文件名是

persistenceIDs.xlsx.vnd.openxmlformats-officedocument.spreadsheetml.sheet

有什么想法吗?

这似乎是 mime 嗅探的一个例子,考虑到您的 header 中没有嗅探,这很奇怪(但根据我在网上阅读的内容,有时这些浏览器很顽固)。那里有关于如何重置浏览器或编辑注册表的内容,但我写了一个小函数来管理结果。 Str 包含文件名,如果需要,代码会更改它,否则就不要管它。

int second = -1;

 int first = str.indexOf(".");
   if (first>-1){
        second = str.indexOf(".", first + 1);
   }
   if (second>-1){
       str=str.substring(0, second);
   }

改编自:Finding second occurrence