前端对接下载文件接口、对接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)
      }
    },
相关推荐
水银嘻嘻5 小时前
12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
运维·前端·自动化
小嘟嚷ovo5 小时前
h5,原生html,echarts关系网实现
前端·html·echarts
十一吖i6 小时前
Vue3项目使用ElDrawer后select方法不生效
前端
只可远观6 小时前
Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
前端·flutter
周胡杰6 小时前
组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
前端·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
敲代码的小吉米6 小时前
前端上传el-upload、原生input本地文件pdf格式(纯前端预览本地文件不走后端接口)
前端·javascript·pdf·状态模式
是千千千熠啊6 小时前
vue使用Fabric和pdfjs完成合同签章及批注
前端·vue.js
九月TTS7 小时前
TTS-Web-Vue系列:组件逻辑分离与模块化重构
前端·vue.js·重构
我是大头鸟7 小时前
SpringMVC 内容协商处理
前端
Humbunklung7 小时前
Visual Studio 2022 中添加“高级保存选项”及解决编码问题
前端·c++·webview·visual studio