小程序 图片转base64然后上传的坑点

图片上传要用到upng.js  
          const self = this

                const ctx = wx.createCanvasContext(‘myCanvas‘)
                const platform = wx.getSystemInfoSync().platform
                const imgWidth = 60, imgHeight = 60;
                wx.chooseImage({
                    success: res => {
                        //生成的图片临时路径画成canvas
                        ctx.drawImage(res.tempFilePaths[0], 0, 0, imgWidth, imgHeight)
                        ctx.draw(false, () => {
                            self.drawFinish = true
                            wx.canvasGetImageData({
                                canvasId: ‘myCanvas‘,
                                x: 0,
                                y: 0,
                                width: imgWidth,
                                height: imgHeight,
                                success: res => {
                                    if (platform === ‘ios‘) {
                                        // 兼容处理:ios获取的图片上下颠倒
                                        res = this.reverseImgData(res)
                                    }
                                    // 3. png编码
                                    let pngData = upng.encode([res.data.buffer], res.width, res.height)
                                    // 4. base64编码

                                    let base64 = wx.arrayBufferToBase64(pngData)
                                    debugger
                                    console.log(‘data:image/jpeg;base64,‘ + base64)
                                    this.setData({
                                        avatarUrl: ‘data:image/jpeg;base64,‘ + base64
                                    });
                                },
                                fail(res) {
                                    debugger
                                    console.log(res)
                                },
                            })
                        })
                    }
                })
这里要有几个坑1.canvas那个标签如果隐藏,会出现转base64失败的情况2.ios上图片需要翻转

原文地址:https://www.cnblogs.com/guokeqiufeng/p/9585043.html

时间: 2024-11-06 03:52:15

小程序 图片转base64然后上传的坑点的相关文章

小程序云开发--云函数上传文件或图片 base64

云函数开发遇到的问题 在微信云开发环境当中,普通的用户并没有往云存储内写入文件的权限 所以普通用户想要使用wx.cloud.uploadFile显然是不现实的 但是我们同时也知道,云函数是后台服务端,具有管理员权限,只要能调用云函数上传文件就可以解决这个问题了 参照官方文档中云函数的写法 const cloud = require('wx-server-sdk') const fs = require('fs') const path = require('path') exports.main

微信小程序选择视频,视频上传,视频播放

请查看链接地址看具体详情: 选择视频: https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-video.html#wxchoosevideoobject 视频上传时和图片上传是一个道理需要使用小程序的上传模版:(将选择视频的链接传给后台,后台将链接转换成后台存储的路径) https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html#wxuploadfileobject 视频播放:

微信小程序实现多张图片同时上传的方法

对于微信小程序上传图片其实很麻烦的,每次只能上传一张,所有很多朋友就会问想要多张图片上传怎么办?这里使用递归,当上传完一张图片后重新执行这个函数,直到所有的图片都上传完成后,就不再调用该函数了.具体的实现方法来为大家分享一下.示例代码如下: wx.chooseImage({success: function(res) {var tempFilePaths = res.tempFilePathswx.uploadFile({url: 'http://example.weixin.qq.com/up

php图片处理之图片转为base64格式上传

我们在开发系统时,处理图片上传是不可避免的,使用thinkphp的肯定很熟悉 import("@.ORG.UploadFile"); 的上传方式. 今天我们来讲一个使用html5 base64上传图片的方法. 其实就是用到html5 FileReader的接口,既然是html5的,所支持的浏览器我就不多说啦,老生常谈的问题了,远离IE,珍惜生命. 先扔个demo出来给大伙体验体验哈. http://t.lanchenglv.com/lan/index.php/Base64/images

小程序base64图片解析成流上传服务器

/** * * @Title: decodeBase64ToImage * @Description: (將base64位的图片解码成流 上传到阿里云服务器) * @param base64 图片的64进制码 * @param path 图片的本地生成地址 * @param imgName 图片名称 * @param uppath 图片的oss远程地址 * @param imgName void (这里描述输出参数的作用) * @throws * @author huyuhang * @date

小程序--->小程序图片上传阿里OSS使用方法

小程序图片上传阿里OSS使用方法 首先看下参考文档 ( http://blog.csdn.net/qq_38125123/article/details/73870667) 这里只将一些运用过程中遇到的问题及解决办法: 1.cryptojs,sha1js,hmacjs,base64js在哪下载及使用方法: 文件可以在阿里oss实例文档中找到. 在运用过程中如果是通过require引入的,会找不到引入的方法,原因是这些js文档没有模块导出,可以在原文件里找到其顶部全局对象,exports出来即可.

5行代码实现微信小程序图片上传与腾讯免费5G存储空间的使用

本文介绍了如何在微信小程序开发中使用腾讯官方提供的云开发功能快速实现图片的上传与存储,以及介绍云开发的 5G 存储空间的基本使用方法,这将大大提高微信小程序的开发效率,同时也是微信小程序系列教程的视频版更新的文字版本摘要. 此文为 「60 节实战课微信小程序开发视频教程」 的第 51 小节内容,如果需要查看视频版本的实战操作,请直接跳至文章的最后部分查看. 1.云开发图片空间简介 在之前的文章 微信小程序开发平台新功能「云开发」快速上手体验 中我们简要介绍了腾讯官方给所有的微信小程序开发提供的云

微信小程序--图片相关问题合辑

图片上传相关文章 微信小程序多张图片上传功能 微信小程序开发(二)图片上传 微信小程序上传一或多张图片 微信小程序实现选择图片九宫格带预览 ETL:微信小程序之图片上传 微信小程序wx.previewImage预览图片 微信小程序之预览图片 小程序开发:上传图片到腾讯云 .NET开发微信小程序-上传图片到服务器 微信小程序本地图片处理--按屏幕尺寸插入图片 [微信小程序]上传图片到阿里云OSS Python Flask小程序文件(图片)上传技巧 小程序图片上传阿里OSS使用方法 微信小程序问题汇

vue 移动端拍照压缩base64格式上传

啰嗦两句,因最近有个小项目要做一个拍照上传头像的功能,做的过程中出现了一些问题,针对这些问题做一下总结分享 问题: 1.图片转base64 2.手机拍照在ios和小米等手机下会旋转 3.图片的压缩 4.手机像素太大,进行一个等比缩放上传 啰嗦完了,上代码 <template> <div id="face"> <div class="faceBox"> <img src="" alt=""