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);  
        }
      })
    }
相关推荐
芋头莎莎15 小时前
基于MQTT通讯UNIapp程序解析JSON数据
前端·uni-app·json
霸王蟹16 小时前
Uni-app 跨端开发框架Unibest快速体验
前端·笔记·微信·uni-app·unibest
木子啊17 小时前
Uni-app条件编译:跨端开发终极指南
uni-app·条件编译
老毛肚17 小时前
uniapp-ruoyi-spring部署宝塔
java·spring·uni-app
Mr Xu_19 小时前
UniApp 实战:深度解析 App 端自动检测与静默更新(含强制更新)
javascript·vue.js·uni-app
说给风听.19 小时前
基于 Vue3 的 UniApp 实战手册:多端开发与技能变现之路
uni-app
外派叙利亚19 小时前
uniapp canvas 自定义仪表盘 可滑动 可点击 中间区域支持自定义
前端·javascript·uni-app·html
不爱学习小趴菜19 小时前
uniapp微信小程序无法屏蔽右上角胶囊按钮(...)问题解决方案
微信小程序·小程序·uni-app
WeiAreYoung20 小时前
uni-app Xcode制作iOS谷歌广告Google Mobile Ads SDK插件
ios·uni-app
2501_9160088920 小时前
iOS 开发助手工具,设备信息查看、运行日志、文件管理等方面
android·ios·小程序·https·uni-app·iphone·webview