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


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 相关文章推荐
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
javascript实现淘宝幻灯片广告展示效果
Apr 27 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
Nov 15 Javascript
jQuery实现贪吃蛇小游戏(附源码下载)
Mar 04 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
Sep 04 Javascript
如何在基于vue-cli的项目自定义打包环境
Nov 10 Javascript
node.js实现http服务器与浏览器之间的内容缓存操作示例
Feb 11 Javascript
vue实现循环滚动列表
Jun 30 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
JS性能优化实现方法及优点进行
Aug 30 Javascript
微信小程序实现聊天室功能
Jun 14 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
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
删除PHP数组中的重复元素的实现代码
2017/04/10 PHP
jQuery ajax+PHP实现的级联下拉列表框功能示例
2019/02/12 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
Javascript中实现trim()函数的两种方法
2015/02/04 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
node文件上传功能简易实现代码
2017/06/16 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
js实现简单扫雷
2020/11/27 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
在GitHub Pages上使用Pelican搭建博客的教程
2015/04/25 Python
Python中datetime模块参考手册
2017/01/13 Python
浅谈python 里面的单下划线与双下划线的区别
2017/12/01 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
django 使用全局搜索功能的实例详解
2019/07/18 Python
简单易懂Pytorch实战实例VGG深度网络
2019/08/27 Python
wxPython电子表格功能wx.grid实例教程
2019/11/19 Python
python中的测试框架
2020/11/13 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
Ivory Isle Designs美国/加拿大:婚礼和活动文具公司
2018/08/21 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
法学毕业生自荐信
2013/11/13 职场文书
消防应急演练方案
2014/02/12 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
拾金不昧表扬信怎么写
2015/05/04 职场文书
小学教师教学随笔
2015/08/14 职场文书
学习计划是什么
2019/04/30 职场文书
创业计划书之酒店
2019/08/30 职场文书