vue+axios下载pdf文件流

项目中用到流文件下载的需求,之前使用的方法一直都没问题,但是这次就是下载不下来,查了多种方法终于解决了,方式如下:

1// 下载文件 2downLoadFile(e) { 3 let id = e.target.dataset.id; 4 let name = e.target.dataset.name; 5 6 if(e.target.dataset.id) { 7 this.$https({ 8 method: 'get', 9 url: '/wyxt_ubqts_oncloud/common/download', 10 params: { 11 'file_id': '526f260d-73c1-422e-b10e-c0a2fe91364d' 12 }, 13 responseType: "blob" 14 }).then(res => { 15 // console.log(res) 16 // const fileName = res.headers["content-disposition"].split("=")[1]; 17 const _res = res.data; 18 let blob = new Blob([_res], {type: 'application/pdf'}); 19 let downloadElement = document.createElement("a"); 20 let href = window.URL.createObjectURL(blob); //创建下载的链接 21 downloadElement.href = href; 22 // downloadElement.download = fileName; //下载后文件名 23 downloadElement.download = name; //下载后文件名 24 document.body.appendChild(downloadElement); 25 downloadElement.click(); //点击下载 26 document.body.removeChild(downloadElement); //下载完成移除元素 27 window.URL.revokeObjectURL(href); //释放掉blob对象 28 }); 29 } 30},
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

下载二维码至钉盘

后端生成二维码的普通文件流,前端接收后在img标签中渲染将二维码下载至钉盘通过接口获取后端返回mediaId字段,采用“dingtalkjsapi”插件中的方法下载注意:dingTalkFun中,除了corId和mediaId必传外,文件名name也是必须要传的!!!<template<divclass"onlineSign"