微信小程序中上传图片并进行压缩的实现代码


Posted in Javascript onAugust 28, 2018

小程序上传图片要先了解他其中的各个属性值,在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//这里是选取的图片的地址数组
  });
 },

总结

以上所述是小编给大家介绍的微信小程序中上传图片并进行压缩的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
由JavaScript技术实现的web小游戏(不含网游)
Jun 12 Javascript
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
Sep 03 Javascript
JavaScript中数组对象的那些自带方法介绍
Mar 12 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
生成二维码方法汇总
Dec 26 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
AngularJS中过滤器的使用与自定义实例代码
Sep 17 Javascript
详解js中==与===的区别
Jan 08 Javascript
layui异步加载table表中某一列数据的例子
Sep 16 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 Javascript
vee-validate vue 2.0自定义表单验证的实例
Aug 28 #Javascript
vue+element-ui动态生成多级表头的方法
Aug 28 #Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 #jQuery
对Vue table 动态表格td可编辑的方法详解
Aug 28 #Javascript
微信小程序自定义组件封装及父子间组件传值的方法
Aug 28 #Javascript
layui实现文件或图片上传记录
Aug 28 #Javascript
利用vue.js把静态json绑定bootstrap的table方法
Aug 28 #Javascript
You might like
基于mysql的bbs设计(一)
2006/10/09 PHP
php smarty函数扩展
2010/03/15 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
jQuery元素选择器用法实例
2014/12/23 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
jQuery插件制作之全局函数用法实例
2015/06/01 Javascript
js HTML5 Ajax实现文件上传进度条功能
2016/02/13 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
js实现String.Fomat的实例代码
2016/09/02 Javascript
给easyui的datebox控件添加清空按钮的实现方法
2016/11/09 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
小程序实现留言板
2018/11/02 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
原生js实现俄罗斯方块
2020/10/20 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
python在非root权限下的安装方法
2018/01/23 Python
Python实现的从右到左字符串替换方法示例
2018/07/06 Python
详解python while 函数及while和for的区别
2018/09/07 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
python能做哪方面的工作
2020/06/15 Python
CSS3过渡transition效果实例介绍
2016/05/03 HTML / CSS
智利最大的网上商店:Linio智利
2016/11/24 全球购物
社团活动总结
2014/04/28 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
党员群众路线剖析材料
2014/10/08 职场文书
工程安全生产协议书
2014/11/21 职场文书
加入学生会自荐书
2015/03/05 职场文书
清明祭英烈活动总结
2015/05/11 职场文书
党员读书活动心得体会
2016/01/14 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
golang 实现菜单树的生成方式
2021/04/28 Golang