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

摘要:
//选择图像返回的相对路径encoding:///encodingformat success:{//成功回调constbase64=res.data;绘制画布以获取base64//获取图像awaitmy.getImageInfo的宽度和高度({src:success:async(res)=>this.imgHeight=res.height/2.5;

最近使用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({
                   this.imgWidth,
                  height: this.imgHeight,
                  quality: 1,
                });
                this.base64 = base64;
base64
= base64.replace("data:image/png;base64,", ""); await this.uploadImageRequest(base64); }); }, });

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

免责声明:文章转载自《uniapp支付宝小程序上传图片转base64》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇FileUpload上传控件用法详解来自MSDN帮助文档SpringBoot请求处理-常用参数注解使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android color颜色-色号总结

code时经常会用到颜色,然而对于像我这样的对于颜色不是很敏感的同学来说,就很痛苦了。 我想要某种颜色,但是又说不出来具体是哪种;这边总结了一下color种类以及色号。 <?xml version="1.0" encoding="utf-8"?> <resources> <color name="white"...

WPF 大数据加载过程中的等待效果——圆圈转动

大家肯定遇到过或将要遇到加载大数据的时候,如果出现长时间的空白等待,一般人的概念会是:难道卡死了? 作为一个懂技术的挨踢技术,即使你明知道数据量太大正在加载,但是假如看不到任何动静,自己觉得还是一种很不好的体验。 之前做项目的时候有这方面的要求,我的前辈们早已给出了完美的解决方案。最近自己在努力学习,今天拿出来与大家一起分享,我想一定会有帮助的。看过之后大...

【HTML5版】导出Table数据并保存为Excel

首发我的博客 http://blog.meathill.com/tech/js/export-table-data-into-a-excel-file.html 最近接到这么个需求,要把<table>显示的数据导出成Excel表。类似的需求并不稀罕,过去我通常用PHP输出.csv文件,不过这次似乎不能这么做:数据源表格允许用户筛选和排序,与原...

Samba安装配置

Samba简介 Samba官网:http://www.samba.orgSMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“N...

WPF用样式实现TextBox的虚拟提示效果

【版权声明】本文为博主原创,未经允许禁止用作商业用途,如有转载请注明出处。  话说好多软件和网站都能实现虚拟提示,好吧这个名词是我自己起的,因为我也不知道这么形容这个效果。   效果描述:在TextBox没有输入值之前显示灰色提示信息,当获得焦点时提示自动消失,如果没有编辑离开此控件则依然显示提示信息,直到输入值为止。   效果图:   这里我用到了一个...

[专题三] 图论

图的遍历和应用 实现方式:邻接矩阵可以使用vector。邻接矩阵的无穷表示方法: memset( road, 0x3f, sizeof(road) ); 应用场景:拓扑图、最小生成树、最短路径、二分图、DFS、BFS。 全排列问题 const int N = 7; int path[N+1]; bool vset[N+1]; int n; vo...