小程序中上传图片并进行压缩
程序员文章站
2022-04-28 21:34:09
小程序上传图片要先了解他其中的各个属性值,在https://developers.weixin.qq.com/miniprogram/dev/api/media-picture.html内有详细的介绍 今天在这里主要来讲下如何去上传图片并进行压缩,了解下以下属性值 先来看下页面展示(点击上传图片,从 ......
小程序上传图片要先了解他其中的各个属性值,在https://developers.weixin.qq.com/miniprogram/dev/api/media-picture.html内有详细的介绍
今天在这里主要来讲下如何去上传图片并进行压缩,了解下以下属性值
先来看下页面展示(点击上传图片,从相册中选择,上传完图片后又点了一次上传)
来来来,上代码
wxml代码
<button bindtap='chooseimagetap'>上传图片</button> <button bindtap='saveimage'>保存</button> <canvas style="width: 300px; height: 200px;" canvas-id="mycanvas"></canvas>
当然最主要的还是js代码咯
var app = getapp() page({ data: { logo: null,
pics:[]
}, chooseimagetap: function () { let _this = this; wx.showactionsheet({ itemlist: ['从相册中选择', '拍照'],//下面显示的数组是拍照还是别的 itemcolor: "#f7982a",//显示文字的颜色 success: function (res) { if (!res.cancel) {//选中判断 if (res.tapindex == 0) { _this.choosewximage('album') } else if (res.tapindex == 1) { _this.choosewximage('camera') } } } }) }, // 绘制图片到canvas上 choosewximage: function (type) { const ctx = wx.createcanvascontext('mycanvas')//画布 var that = this; wx.chooseimage({//上传图片事件 count: 9,//数量 sizetype: ['original', 'compressed'],//original 原图,compressed 压缩图,默认二者都有 sourcetype: ['album', 'camera'], //album 从相册选图,camera 使用相机,默认二者都有 success: function (res) { console.log(res) ctx.drawimage(res.tempfilepaths[0], 0, 0, 100, 100)//成功选定第一张。后面的四个值分别是left,top,width,height,来控制画布上的图片的位置和大小 ctx.draw() } }) }, saveimage: function () {//这里触发图片上传的方法 var pics = this.data.pics; app.uploadimg({ url: 'https://........',//这里是你图片上传的接口 path: pics//这里是选取的图片的地址数组 }); },
我的个人理解是这样的,但可能会有些小错误,仅供大家借鉴,不适用于直接带入使用,当然把图片上传到画布上,并获取到图的地址,这里是没有问题的,可能最后的保存,最好多借鉴下别的,请大神斧正
上一篇: 数据库索引,到底是什么做的?
下一篇: JQ的滚动条事件代码分析