回显的图片要用文件流形式作为参数,支持照片上的按钮操作

这个按钮得入参要文件流形式 , 解决办法

入参为 (文件url,文件name)

    async convertImagePathToFile(imgPath, fileName = "mo.jpg", callback) {
      function dataURLtoBlob(dataurl, name) {
        var arr = dataurl.split(","),
          mime = arr[0].match(/:(.*?);/)[1],
          bstr = atob(arr[1]),
          n = bstr.length,
          u8arr = new Uint8Array(n);
        while (n--) {
          u8arr[n] = bstr.charCodeAt(n);
        }
        return new File([u8arr], name, {
          type: mime
        });
      }

      const blob = await fetch(imgPath).then(res => res.blob());
      // 使用 FileReader 读取 Blob 数据
      const reader = new FileReader();
      reader.onload = function (e) {
        const file = e.target.result;
        callback(dataURLtoBlob(file, fileName));
      };
      reader.readAsDataURL(blob);
    },

调用时

    async handleAiDialog(file, name) { //触发事件
      console.log(file, name, 'aaa')
      // return
      await this.convertImagePathToFile(
        "http://localhost:15271/static/FPRR_AV)))5G)GON41S9)C8.png",   //文件url
        // file.url,
        file.name,  //文件name
        blob => { //blob为回调函数return文件流
          !file.raw && (file["raw"] = blob);   //如果file对象不包含raw,则将文件流赋值给他
          this.getRskList(name, file["raw"]);   //作为后续验证接口入参
        },
      );

    },

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值