//即base64,blob都可以实现文件的下载,但是预览需要将base64通过下面的函数转成blob形式来预览
dataURLtoBlob(dataurl) {
var bstr = window.atob(dataurl)
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], { type: 'application/pdf' });
}
1.在谷歌浏览器中 下载用base64以及blob都可以实现a标签下载,但是预览使用window.open时需要blob形式的
2. IE兼容问题:在使用base64下载文件时,由于兼容性问题(不支持a标签下载),会导致报错,此时可以是使用IE自带的window.navigator.msSaveOrOpenBlob(blob, download_filename),需要使用上述方法先将base64转成blob