• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

uniapp支付宝小程序上传图片转base64

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

最近使用uniapp涉及到一个上传图片的功能,原本看官方文档api觉得没问题,正常开发,

1. 首先微信端没问题

    uni.getFileSystemManager().readFile({
      filePath: url, //选择图片返回的相对路径
      encoding: "base64", //编码格式
      success: (res) => {
        //成功的回调
        const base64 = res.data; 
      },
    });

2. 支付宝小程序出现了问题,真机ios上传图片获取不到base64

官方文档看了很多没用,也不知道是不是自己看漏了,查了很多资料,最后使用canvas解决了:

首先使用 chooseImage获取图片tempFiles

uni.chooseImage

获取图片宽高,绘制canvas得到base64          //获取图片的宽高

          await my.getImageInfo({
            src: imagePath,
            success: async (res) => {
              this.imgWidth = res.width / 2.5;
              this.imgHeight = res.height / 2.5;
              let canvas = my.createCanvasContext("canvas");
              canvas.drawImage(imagePath, 0, 0, this.imgWidth, this.imgHeight); // 1. 绘制图片至canvas
              // 绘制完成后执行回调
              canvas.draw(false, async () => {
                let base64 = await canvas.toDataURL({
                  width: this.imgWidth,
                  height: this.imgHeight,
                  quality: 1,
                });
                this.base64 = base64;
base64
= base64.replace("data:image/png;base64,", ""); await this.uploadImageRequest(base64); }); }, });

这样,支付宝小程序ios真机获取base64就成功啦!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
iconfont无法在小程序的自定义组件中使用发布时间:2022-07-18
下一篇:
小程序自定义tabbar以vantweapp为例发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap