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


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写的一个TableView控件代码
Jan 23 Javascript
JavaScript中的数组操作介绍
Dec 30 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
Ionic2系列之使用DeepLinker实现指定页面URL
Nov 21 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
mocha的时序规则讲解
Feb 16 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
浅谈layui里的上传控件问题
Sep 26 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 05 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
Nov 16 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/21 PHP
thinkPHP5.0框架开发规范简介
2017/03/25 PHP
laravel请求参数校验方法
2019/10/10 PHP
简单的php购物车代码
2020/06/05 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
使用js 设置url参数
2013/07/08 Javascript
javascript列表框操作函数集合汇总
2013/11/28 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
js实现的动画导航菜单效果代码
2015/09/10 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
在Vue中实现随hash改变响应菜单高亮
2020/03/09 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
在Python中操作字符串之replace()方法的使用
2015/05/19 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
2019/10/06 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
个人求职信范文分享
2013/12/13 职场文书
十佳护士获奖感言
2014/02/18 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
详解gantt甘特图可拖拽、编辑(vue、react都可用 highcharts)
2021/11/27 Vue.js