前端对接下载文件接口、对接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)
      }
    },
相关推荐
失忆爆表症2 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录2 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜2 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛2 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter
利刃大大2 小时前
【Vue】Element-Plus快速入门 && Form && Card && Table && Tree && Dialog && Menu
前端·javascript·vue.js·element-plus
NEXT062 小时前
AI 应用工程化实战:使用 LangChain.js 编排 DeepSeek 复杂工作流
前端·javascript·langchain
念风零壹3 小时前
AI 时代的前端技术:从系统编程到 JavaScript/TypeScript
前端·ai
光影少年3 小时前
react的hooks防抖和节流是怎样做的
前端·javascript·react.js
小毛驴8503 小时前
Vue 路由示例
前端·javascript·vue.js
发现一只大呆瓜4 小时前
AI流式交互:SSE与WebSocket技术选型
前端·javascript·面试