使用 javascript 下载 base64 数据 \| IE11

新手上路,请多包涵

我正在尝试使用 JavaScript 中的“window.location.href”下载 base64 数据。它在 Chrome 中运行良好,但相同的代码在 IE11 中不起作用。

您能否让我知道相同的修复或解决方法?

这是代码:Javascript:

 function DownloadPdf() {
window.location.href = "data:application/pdf;base64,JVBERi0xLjMNJeLjz9MNCj........Pg1zdGFydHhyZWYNMTczDSUlRU9GDQ=="

}

 function DownloadExcel() {
window.location.href = "data:application/vnd.ms-excel;base64,UEsDBBQABgAIAAAAIQB......BLBQYAAAAACgAKAIACAACzHAAAAAA="
}

HTML:

笔记:

我正在开发一个离线网站,我在浏览器 localStorage 中以未连接到服务器的 base64 字符串格式存储文件。我没有任何物理文件。

原文由 Sunil 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 534
1 个回答

以下适用于所有浏览器

var blob = new Blob([tdData], { type: 'text/csv' });
if (window.navigator.msSaveBlob) { // // IE hack; see http://msdn.microsoft.com/en-us/library/ie/hh779016.aspx
    window.navigator.msSaveOrOpenBlob(blob, 'exportData' + new Date().toDateString() + '.csv');
}
else {
    var a = window.document.createElement("a");
    a.href = window.URL.createObjectURL(blob, { type: "text/plain" });
    a.download = "exportData" + new Date().toDateString() + ".csv";
    document.body.appendChild(a);
    a.click();  // IE: "Access is denied"; see: https://connect.microsoft.com/IE/feedback/details/797361/ie-10-treats-blob-url-as-cross-origin-and-denies-access
    document.body.removeChild(a);
}

原文由 Chandra Kudumula 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题