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


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 jsonp 使用示例代码
Aug 12 Javascript
网页上的Javascript编辑器和代码格式化
Apr 25 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
Jan 11 Javascript
javascript将数组插入到另一个数组中的代码
Jan 10 Javascript
js确认删除对话框适用于a标签及submit
Jul 10 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
微信支付如何实现内置浏览器的H5页面支付
Sep 25 Javascript
js中flexible.js实现淘宝弹性布局方案
Jun 23 Javascript
基于JavaScript实现Tab选项卡切换效果
Nov 24 Javascript
JS实现的找零张数最小问题示例
Nov 28 Javascript
Vue-cli3生成的Vue项目加载Mxgraph方法示例
May 31 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判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
PHP文件操作实例总结
2016/09/27 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jQuery获取标签文本内容和html内容的方法
2015/03/27 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
2017/03/08 Javascript
原生实现一个react-redux的代码示例
2018/06/08 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
vue-cli 打包使用history模式的后端配置实例
2018/09/20 Javascript
vue中,在本地缓存中读写数据的方法
2018/09/21 Javascript
vue拖拽组件 vuedraggable API options实现盒子之间相互拖拽排序
2019/07/08 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
Python 列表list使用介绍
2014/11/30 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
python实现图书馆研习室自动预约功能
2018/04/27 Python
python在每个字符后添加空格的实例
2018/05/07 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
django框架使用方法详解
2019/07/18 Python
python3.7 openpyxl 删除指定一列或者一行的代码
2019/10/08 Python
基于Django统计博客文章阅读量
2019/10/29 Python
Tensorflow 多线程设置方式
2020/02/06 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
全球精选男装和家居用品:Article
2020/04/13 全球购物
一年级评语大全
2014/04/23 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
员工趣味活动方案
2014/08/27 职场文书
办理收楼委托书范本
2014/10/09 职场文书
mysql定时自动备份数据库的方法步骤
2021/07/07 MySQL