【问题标题】:Filename issue when downloading file下载文件时的文件名问题
【发布时间】:2019-11-26 08:15:13
【问题描述】:

在边缘,我正在访问一个返回文件的 JSP 页面。它在 chrome 中完美运行,但在 Edge 和 Internet Explorer 中,我将 mime 类型附加到文件名。

这是响应头:

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

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

有什么想法吗?

【问题讨论】:

  • 你想阻止它的发生,还是仅仅满足于处理它(例如,如果你发现超过 2 个点,取一个从 0 到第二个位置的子串点)?
  • 在 Chrome 中,文件下载为“persistenceIDs.xlsx”,但不是在 Edge 或 IE 中。我想了解为什么它不使用标题中指定的文件名?
  • 如果您尝试提供任何示例代码来产生问题,那么我们可以尝试进行测试并尝试为问题找到任何可能的解决方案。

标签: java internet-explorer microsoft-edge


【解决方案1】:

这似乎是 mime 嗅探的一个示例,考虑到您的标题中有 nosniff,这很奇怪(但从我在线阅读的内容来看,有时这些浏览器很顽固)。那里有关于如何重置浏览器或编辑注册表的东西,但我写了一个小函数来管理结果。 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    相关资源
    最近更新 更多