前端对接下载文件接口、对接dart app

嵌套在dart app里面的前端项目

1.前端调下载接口 ->后端返回 application/pdf格式的文件 ->前端将pdf处理为blob ->blob转base64 ->调用dart app的 sdk saveFile ->保存成功

复制代码
    async download() {
      try {
        // 调用封装的 downloadEContract 方法获取 Blob 数据
        const response = await downloadEContract({ ordederNo: this.eContractOrderNo })
//api调用返回的文件格式是pdf 在axios中已经配置responseType:blob  axios已经做了转换?
        // 使用 FileReader 将 Blob 转换为 Base64
        const reader = new FileReader()
        const prom = new Promise((resolve, reject) => {
          reader.onloadend = () => resolve(reader.result)
          reader.onerror = () => reject(reader.error)
          reader.readAsDataURL(response)
        })

        // 等待 Base64 数据
        const base64Data = await prom

        // 调用 JieanSdk.saveFile 方法保存文件
        const res = await window.JieanSdk.saveFile({
          fileName: '电子合同.pdf',
          content: base64Data
        })
        if (res.code === 200) {
          window.JieanSdk.showSnackBar({ message: `下载成功,文件保存至${res.result}` })
        } else {
          window.JieanSdk.showSnackBar({ message: '下载失败' })
        }
        console.log('保存结果: ', JSON.stringify(res))
      } catch (error) {
        console.error('失败', error)
      }
    },
相关推荐
king王一帅12 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
智航GIS17 小时前
10.4 Selenium:Web 自动化测试框架
前端·python·selenium·测试工具
前端工作日常17 小时前
我学习到的A2UI概念
前端
徐同保18 小时前
为什么修改 .gitignore 后还能提交
前端
一只小bit18 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui
Mr -老鬼18 小时前
前端静态路由与动态路由:全维度总结与实践指南
前端
颜酱19 小时前
前端必备动态规划的10道经典题目
前端·后端·算法
wen__xvn19 小时前
代码随想录算法训练营DAY10第五章 栈与队列part01
java·前端·算法
大怪v20 小时前
前端佬们!!AI大势已来,未来的上限取决你的独特气质!恭请批阅!!
前端·程序员·ai编程
Mr -老鬼20 小时前
功能需求对前后端技术选型的横向建议
开发语言·前端·后端·前端框架