后端返回数据流的格式

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方法

👉具体的使用方法👈

相关推荐
十年Java程序媛5 分钟前
JVM 基础与 GC 垃圾回收详解|可达性分析、分代模型、垃圾收集器、STW
java·开发语言·jvm·spring boot·后端·面试
估值探索者6 分钟前
【Python量化选股流水线 #03】候选股怎么排序?动量+低波+流动性三因子打分取 Top-N
开发语言·python·接口·api接口·股票数据接口·数据接口·股票数据api接口
骑士雄师6 分钟前
supervisor 中关于上下文多轮信息维护常用到的python语法
开发语言·python
曹牧16 分钟前
C#:字符串占位符与值数量不一致
开发语言·数据库·c#
狂师20 分钟前
太强了!GitHub上开源了一款AI自动化测试框架,0代码搞定前后端测试!
前端·后端·测试
只睡四小时24 分钟前
Local-First 数据契约:一张表装下 4 类数据
前端·javascript·架构设计·local-first·数据契约
迅猛龙办公室24 分钟前
Python函数实现反转一个只有3位数的整数
开发语言·前端·python
我星期八休息24 分钟前
Redis 的原理和使用(2)
前端·数据库·redis·python·mysql·缓存·bootstrap
Java后端的Ai之路25 分钟前
19-ReactJS最佳实践
前端·react.js·前端框架
“AI国潮设计-小江”26 分钟前
《【AIGC实战】Python+SDXL批量生成“英歌舞树莓香草布丁”IP,附保持角色一致性的代码逻辑》
开发语言·人工智能·python·prompt·aigc