前端对接下载文件接口、对接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)
      }
    },
相关推荐
冰暮流星42 分钟前
css之线性渐变
前端·css
徐同保1 小时前
tailwindcss暗色主题切换
开发语言·前端·javascript
mapbar_front1 小时前
大厂精英为何在中小公司水土不服?
前端
生莫甲鲁浪戴1 小时前
Android Studio新手开发第二十七天
前端·javascript·android studio
2501_916008893 小时前
Web 前端开发常用工具推荐与团队实践分享
android·前端·ios·小程序·uni-app·iphone·webview
SkylerHu4 小时前
前端代码规范:husky+ lint-staged+pre-commit
前端·代码规范
菜鸟una4 小时前
【微信小程序 + 消息订阅 + 授权】 微信小程序实现消息订阅流程介绍,代码示例(仅前端)
前端·vue.js·微信小程序·小程序·typescript·taro·1024程序员节
Yeats_Liao4 小时前
Go Web 编程快速入门 05 - 表单处理:urlencoded 与 multipart
前端·golang·iphone
飞翔的佩奇4 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统
拉不动的猪4 小时前
h5后台切换检测利用visibilitychange的缺点分析
前端·javascript·面试