后端返回数据流的格式

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

👉具体的使用方法👈

相关推荐
南境十里·墨染春水4 小时前
C++ 工厂模式:从入门到进阶,彻底掌握对象创建的艺术
开发语言·c++·算法
yuanyxh4 小时前
Mac 软件推荐
前端·javascript·程序员
万少4 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
某人辛木4 小时前
Web自动化测试
前端·python·pycharm·pytest
Kagol5 小时前
Superpowers GSD gstack AgentSkills深度测评
前端·人工智能
JosieBook5 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
加号35 小时前
【C#】 文件与目录管理:创建、删除操作的技术解析
开发语言·c#
excel6 小时前
JavaScript 字符串与模板字面量:从表象到本质理解
前端
diving deep6 小时前
脚本速览-python
开发语言·python
京东云开发者6 小时前
当AI成为导演-如何用AI创作动漫短剧
前端