uniapp h5文件流下载pdf文件

今天遇到一个需求就是后端返回一个文件流,前端需要用户点击以后下载,那么怎么去做呢 请看下面代码

javascript 复制代码
 DownLoadDoc() {
      let url = 'doc/api/downloadDocFulltext?id=' + this.id //接口路径
      uni.request({
        url:uni.getStorageSync('baseUrl')+url, //域名拼接
        responseType: 'arraybuffer', //这里记得设置响应数据格式,不然预览的pdf是空白
        header: {
          "GAKey": uni.getStorageSync('token') // 携带的token
        },
        success: (response) => {
          let pdfData = response.data; //pdfData是后端返回的文件流										//创建blob数据流,并用a标签来下载
		  let blob = new Blob([ pdfData], {
              type: 'application/pdf;charset=UTF-8'
          })
          var a = document.createElement('a');
          document.body.appendChild(a);
          a.style = 'display: none';
          var url = window.URL.createObjectURL(blob);
          a.href = url;
          a.download = `${this.title}.pdf`; // 文件标题
          a.click();
          a.remove();
          window.URL.revokeObjectURL(url);  
        }
      })
    }
相关推荐
计算机学姐4 小时前
基于微信小程序的图书馆座位预约系统【uniapp+springboot+vue】
vue.js·spring boot·微信小程序·小程序·java-ee·uni-app·intellij-idea
中犇科技6 小时前
电商app源码系统推荐|开源 uniapp 商城系统
uni-app
海水冷却9 小时前
uniapp 实现直播功能的完整方案与实战指南
uni-app
w20180010 小时前
一至六年级下册数学第五单元测试卷(人教版+苏教版)
pdf
wuxianda103010 小时前
Object-C/Swift/UniApp项目苹果商店上架3天极速解决方案汇报总结
ios·uni-app·objective-c·cocoa·苹果上架
WKK_11 小时前
uniapp 微信小程序使用TextEncoder,arrayBufferToBase64
微信小程序·小程序·uni-app
喜崽12 小时前
uniapp消息会话界面【消息组件一左一右】-01
uni-app
一渊之隔12 小时前
uniapp蓝牙搜索连接展示蓝牙设备包含信号显示
前端·网络·uni-app·bluetooth
w20180012 小时前
人教版小学一至六年级下册语文期中考试试卷PDF可打印
pdf
喜崽12 小时前
uniapp消息会话界面【消息滚动到底部】-02
uni-app