1

问题: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)
            })
          },

羽梓橙
9 声望2 粉丝