后端返回数据流的格式

1、以下是返回的数据

2、将返回的数据流转成base64

复制代码
const pdfBase64 = uni.arrayBufferToBase64(res.data)

3、将pdfBase64打印出来,查看是否转的正确👉测试

以下是完整实现的代码:

复制代码
uni.request({
        url: 'print/' + id,
        method: 'GET', // 按你实际请求方式改
        timeout: 30000,
        // 关键配置:必须指定响应类型为 arraybuffer
        responseType: 'arraybuffer',
        success: (res) => {
            const pdfBase64 = uni.arrayBufferToBase64(res.data)
            console.log(pdfBase64)
            // 1. 生成文件名
            const fileName = `文档_${new Date().getTime()}.pdf`;
            // 2. 获取 APP 本地可写目录
            const filePath = `_doc/${fileName}`;

            // 3. 创建文件并写入 Base64 数据
            plus.io.requestFileSystem(plus.io.PRIVATE_DOC, function (entry) {
                entry.root.getFile(fileName, { create: true }, function (fileEntry) {
                fileEntry.createWriter((writer) => {
                    console.log(writer)
                    // 写入成功
                    writer.onwrite = () => {
                        console.log("写入成功")
                        uni.showToast({ title: 'PDF 保存成功', icon: 'success' });
                        // 打开预览 PDF
                        openPdf(filePath);
                    };
                    console.log("开始写入数据")
                    writer.writeAsBinary(pdfBase64)
                    console.log("写入数据完成")
                    
                }, (err) => {
                    console.error("创建写入器失败:", err);
                });
                }, (err) => {
                console.error("创建文件失败:", err);
                });
            }, (err) => {
                console.error("获取目录失败:", err);
            });
            
        }
    });

还可以使用uni.downloadFile方法

👉具体的使用方法👈

相关推荐
前端H7 小时前
生成式 UI 实战:AI 如何重塑前端界面
前端·人工智能·ui
触底反弹7 小时前
🚀 Node.js path 和 fs 模块,从回调地狱到 async/await 的进化之路!
javascript·后端·node.js
懂懂tty7 小时前
Web前端性能指标
前端
2zcode7 小时前
基于MATLAB卷积神经网络的口罩佩戴检测系统
开发语言·matlab·cnn
米饭不加菜7 小时前
使用万用表判断三极管(BJT)好坏
java·开发语言
绝世唐门三哥7 小时前
vue3中页面返回时刷新首页的处理方案
开发语言·前端·javascript
nianniannnn7 小时前
c++复习自存--流、异常处理、多线程与C++工程规范
开发语言·c++
sugar__salt7 小时前
Node.js path 与 fs 核心模块完全指南 —— 从路径处理到异步流程控制
javascript·node.js
东方小月8 小时前
agent-skills:把资深工程师的‘工作流’,装进你的AI编程里
前端·架构·代码规范
geovindu8 小时前
CSharp: Dijkstra Algorithms
开发语言·后端·算法·c#