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);  
        }
      })
    }
相关推荐
梦曦i7 小时前
uni-router新推useUniEventChannel,彻底解决页面通信难题
前端·uni-app
宠友信息7 小时前
内容社区源码多端数据协议与 Spring Boot 状态流转实现思路
java·spring boot·websocket·uni-app
Lucky_Turtle9 小时前
【论文写作】PDF图片不清晰,打印生成PDF空白大,PDF字体嵌入
开发语言·pdf·c#
工具派9 小时前
写技术文档时,我把Markdown编辑和PDF导出都搬到了浏览器
pdf
2501_915918419 小时前
PerfDog 太贵?iOS 性能监控工具的功能对比与选择
android·ios·小程序·https·uni-app·iphone·webview
PedroQue9910 小时前
uni-router新推useUniEventChannel,彻底解决页面通信难题
前端·uni-app
杰佛史彦明110 小时前
PDF 表格转 CSV:Python 实现方法与代码解析
开发语言·python·pdf
复园电子1 天前
解析PDF二进制结构:数字签名块(Signature Block)篡改异变分析
pdf
AI导出鸭PC端1 天前
豆包智能体停运在即,历史对话如何一键导出为 Word 或 PDF?
人工智能·pdf·word·豆包·ai导出鸭
不厌 -_-1 天前
VSCode 中 Markdown 转 PDF
vscode·pdf