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


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 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
javascript 操作文件 实现方法小结
Jul 02 Javascript
基于jquery的实现简单的表格中增加或删除下一行
Aug 01 Javascript
一次失败的jQuery优化尝试小结
Feb 06 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
js html css实现复选框全选与反选
Oct 09 Javascript
vue实现留言板todolist功能
Aug 16 Javascript
node跨域请求方法小结
Aug 25 Javascript
JSON 数据格式详解
Sep 13 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
laypage.js分页插件使用方法详解
Jul 27 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调用时间格式的参数详解
2013/06/06 PHP
PHP面相对象中的重载与重写
2017/02/13 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
javascript EXCEL 操作类代码
2009/07/30 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
Node.js事件驱动
2015/06/18 Javascript
Javascript实现字数统计
2015/07/03 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
javascript 四十条常用技巧大全
2016/09/09 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
javascript 中模板方法单例的实现方法
2017/10/17 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[03:55]DOTA2完美大师赛选手传记——LFY.MONET
2017/11/18 DOTA
python开发之tkinter实现图形随鼠标移动的方法
2015/11/11 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Python之循环结构
2019/01/15 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
2014年庆元旦活动方案
2014/02/15 职场文书
小学生元旦感言
2014/02/26 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript
服务器SVN搭建图文安装过程
2022/06/21 Servers