【问题标题】:JAVASCRIPT: EDGE change extension of file downloadJAVASCRIPT:EDGE 更改文件下载的扩展名
【发布时间】:2017-04-19 14:02:20
【问题描述】:

我在使用 Microsoft Edge 时遇到了问题:当我下载 Edge 时,我刚刚下载的文件的扩展名发生了变化。使用 Chrome 和 Firefox 我没有这个问题...我附上我使用的代码:

a = document.createElement('a');
a.href = "name.xxx";
a.target = '_blank';
a.download = "name.xxx";
a.type = ".icd";
document.body.appendChild(a);
a.click();
a.remove();

文件的结构是一个XML文件,但它有他的扩展名。 你能帮帮我吗?

【问题讨论】:

  • 如果您的链接 URL 用于文件下载,那么重要的是您的 服务器 对响应标头所做的操作。
  • 你使用的是什么版本的 Edge?
  • Microsoft Edge 38.14393.1066.0
  • Microsoft EdgeHTML 14.14393
  • 啊,我看到你正在使用“.download”属性。好吧,根据 MDN,* 如果名称不是底层操作系统的有效文件名,浏览器将对其进行调整。* 此外,您的“类型”值看起来也不是有效的 MIME 类型。

标签: javascript file download microsoft-edge


【解决方案1】:

我不知道我是否迟到了,但这是一个有效的解决方案,我遇到了同样的错误并且我能够解决它。

var blob = new window.Blob([data], { type: 'application/pdf' });

var a = document.createElement('a');
var url = window.URL.createObjectURL(blob);
var filename = url.substring(url.lastIndexOf('/') + 1);
a.href = url;
a.download = filename + '.pdf' || 'download';
document.body.append(a);
a.click();
a.remove();
window.URL.revokeObjectURL(url);

【讨论】:

    猜你喜欢
    • 2020-09-17
    • 1970-01-01
    • 2020-10-30
    • 2010-10-13
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    相关资源
    最近更新 更多