项目中用到流文件下载的需求,之前使用的方法一直都没问题,但是这次就是下载不下来,查了多种方法终于解决了,方式如下:
// 下载文件 downLoadFile(e) { let id = e.target.dataset.id; let name = e.target.dataset.name; if(e.target.dataset.id) { this.$https({ method: ‘get‘, url: ‘/wyxt_ubqts_oncloud/common/download‘, params: { ‘file_id‘: ‘526f260d-73c1-422e-b10e-c0a2fe91364d‘ }, responseType: "blob" }).then(res => { // console.log(res) // const fileName = res.headers["content-disposition"].split("=")[1]; const _res = res.data; let blob = new Blob([_res], {type: ‘application/pdf‘}); let downloadElement = document.createElement("a"); let href = window.URL.createObjectURL(blob); //创建下载的链接 downloadElement.href = href; // downloadElement.download = fileName; //下载后文件名 downloadElement.download = name; //下载后文件名 document.body.appendChild(downloadElement); downloadElement.click(); //点击下载 document.body.removeChild(downloadElement); //下载完成移除元素 window.URL.revokeObjectURL(href); //释放掉blob对象 }); } },