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


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 相关文章推荐
jQuery 表单验证插件formValidation实现个性化错误提示
Jun 23 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
JQuery 返回布尔值Is()条件判断方法代码
May 14 Javascript
浅谈Javascript 执行顺序
Dec 18 Javascript
jQuery子属性过滤选择器用法分析
Feb 10 Javascript
js实现交换运动效果的方法
Apr 10 Javascript
js实现鼠标点击左上角滑动菜单效果代码
Sep 06 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
Jun 12 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
JavaScript实现换肤功能
Sep 15 Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 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
?繁体转换的class
2006/10/09 PHP
PHP对象转换为数组函数(递归方法)
2012/02/04 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php将数组存储为文本文件方法汇总
2015/10/28 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
javascript创建函数的20种方式汇总
2015/06/23 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
利用Jasmine对Angular进行单元测试的方法详解
2017/06/12 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
jQuery实现动态添加节点与遍历节点功能示例
2017/11/09 jQuery
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
JavaScript指定断点操作实例教程
2018/09/18 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
js通过循环多张图片实现动画效果
2019/12/19 Javascript
js的Object.assign用法示例分析
2020/03/05 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
tensorflow对图像进行拼接的例子
2020/02/05 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
分享8款纯CSS3实现的搜索框功能
2017/09/14 HTML / CSS
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
建筑施工实习自我鉴定
2013/09/19 职场文书
老干部工作先进事迹
2014/08/17 职场文书
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js