关于html5:vue下载excel兼容360QQIE10IE11浏览器

1次阅读

共计 777 个字符,预计需要花费 2 分钟才能阅读完成。

问题:360 浏览器下载时候偶然胜利,控制台查看接口显示胜利
解决:兼容代码如下

downloadExcel(dPath,param){
            // dPath-- 申请地址
            // param-- 申请门路
            this.$axios.post(dPath, param, {responseType: 'arraybuffer'}
            ).then(res => {if (window.navigator && window.navigator.msSaveOrOpenBlob) {// 兼容
                window.navigator.msSaveOrOpenBlob(blob, 这是下载的文件名 + '.xls')
              } else {var blobURL = window.URL.createObjectURL(blob)// 将 blob 对象转为一个 URL
                var tempLink = document.createElement('a')// 创立一个 a 标签
                tempLink.style.display = 'none'
                tempLink.href = blobURL
                tempLink.setAttribute('download', 这是下载的文件名)// 给 a 标签增加下载属性 -- 文件名称
                if (typeof tempLink.download === 'undefined') {tempLink.setAttribute('target', '_blank')
                }
                document.body.appendChild(tempLink)// 将 a 标签增加到 body 当中
                tempLink.click()// 启动下载
                document.body.removeChild(tempLink)// 下载结束删除 a 标签
                window.URL.revokeObjectURL(blobURL)
              }
            }).catch((error) => {console.log(error)
            })
          },
正文完
 0