我在angular js中有一个代码,单击按钮即可下载一个excel文件。在chrome中,点击按钮会自动开始下载文件。但是在Microsoft Edge上,单击按钮会显示提示,询问用户是否要打开或保存文件。单击提示中的保存按钮会显示另一个提示,其中包含3个按钮OPEN,OPEN FOLDER和VIEW DOWNLOADS。
我知道Edge提供了设置选项来禁用每次下载的提示。 但是有什么办法可以开始下载,但是下载后没有显示第二个提示,询问您使用angular js还是jquery做什么?
下载文件的代码如下:
var fileName;
var a = document.createElement("a");
document.body.appendChild(a);
var type = headers('Content-Type');
var disposition = headers('Content-Disposition');
if (disposition) {
var match = disposition.match(/.*filename=\"?([^;\"]+)\"?.*/);
if (match[1])
fileName = match[1];
}
var blob = new Blob([data], {
type: type
}),
url = window.URL.createObjectURL(blob);
if (blob.size == 0) {
return;
}
a.href = url;
a.download = fileName;
var isIE = false || document.documentMode || /Edge/.test(navigator.userAgent); //if browser is IE and Edge
if (isIE) {
window.blur();
window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
a.style = "display: none";
a.click();
window.URL.revokeObjectURL(url);
}