ie 的 大坑 不支持 的时间格式 yyyy-mm-dd 和 不支持 URL.createObjectURL(blob) 进行文件下载
1. ie 支持的时间格式是不支持 yyyy-mm-dd 的
需要手动进行格式化
private praseDate(d: Date): string {
// 坑比 ie 不支持 yyyy-mm-dd 格式
// return moment(d).format('YYYY-MM-DD');
let year = d.getFullYear();
let month = d.getMonth() + 1;
let date = d.getDate();
let monthStr = '';
let dataStr = '';
if (month < 10) {
monthStr = '0' + month;
} else {
monthStr = month + '';
}
if (date < 10) {
dataStr = '0' + date;
} else {
dataStr = date + '';
}
console.log('praseDate' + year + '-' + monthStr + '-' + dataStr);
return year + '-' + monthStr + '-' + dataStr;
}
2. 使用 blob window.URL.createObjectURL 方式下 载文件 时 , 在ie 上 是 拒绝访问的~~~~~
const blob = new Blob([res.body ], {type: 'text/csv'});
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = fileName + '.csv';
a.click();
window.URL.revokeObjectURL(url);
a.remove();
添加上 对于 ie 判断 通过 ie 的 标准 window.navigator.msSaveOrOpenBlob(blob, fileName);
console.log('start download:', res);
const blob = new Blob([res.body ], {type: 'text/csv'});
// 坑爹 ie 不支持
if('msSaveOrOpenBlob' in navigator){
window.navigator.msSaveOrOpenBlob(blob, fileName);
return;
}
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = fileName + '.csv';
a.click();
window.URL.revokeObjectURL(url);
a.remove();

浙公网安备 33010602011771号