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);  
        }
      })
    }
相关推荐
梦曦i18 小时前
RouterLink v2.5.0:H5端原生能力全面回归
前端·uni-app
Source.Liu18 小时前
【A11】基于 PDF 渲染引擎的统一文档界面架构设计
rust·pdf
码农刚子19 小时前
用 .NET 8 + uni-app 做一套多租户畜牧 SaaS:我们在秦巴牧云踩过的 6 个坑
uni-app·.net·saas
PedroQue9919 小时前
RouterLink v2.5.0:H5端原生能力全面回归
前端·uni-app
CSharp精选营1 天前
用 .NET 8 + uni-app 做一套多租户畜牧 SaaS:我们在秦巴牧云踩过的 6 个坑
uni-app·efcore·.net8·多租户·saas踩坑
FinelyYang1 天前
UniApp + LiveKit:Android 端为什么要用原生做屏幕共享,以及我们怎么落地的
android·uni-app
宠友信息2 天前
IM系统开发技术路线分析,即时通讯源码助力快速搭建聊天应用
java·spring boot·redis·websocket·mysql·uni-app·vue
zhonyu鱼2 天前
Saber:专为触控笔设计的开源手写笔记与 PDF 批注工具
笔记·pdf·开源
winfredzhang2 天前
用 Python + wxPython 造一个照片工具箱:PDF / 加密ZIP / MP4 / 归档,以及我在这过程中踩到的 4 个坑
python·pdf·zip·mp4·移动
2501_930707782 天前
使用C#代码在 PDF 文档中创建列表
pdf