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


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 相关文章推荐
syntaxhighlighter 使用方法
Jul 02 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
jquery提取元素里的纯文本不包含span等里的内容
Sep 30 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
JS函数this的用法实例分析
Feb 05 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
Nov 16 Javascript
vue中动态绑定表单元素的属性方法
Feb 23 Javascript
Angular学习教程之RouterLink花式跳转
May 03 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 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
php Ubb代码编辑器函数代码
2012/07/05 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
PHP 数组遍历foreach语法结构及实例
2016/06/13 PHP
Laravel服务容器绑定的几种方法总结
2020/06/14 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vue项目每30秒刷新1次接口的实现方法
2018/12/04 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
微信小程序实现分享商品海报功能
2019/09/30 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
简单学习Python time模块
2016/04/29 Python
详解Python操作RabbitMQ服务器消息队列的远程结果返回
2016/06/30 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
2020/05/27 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
基于python实现地址和经纬度转换
2020/05/19 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
元旦晚会策划方案
2014/02/18 职场文书
挂职自我鉴定
2014/02/26 职场文书
农村党员一句话承诺
2014/05/30 职场文书
销售队伍口号
2014/06/11 职场文书
化工专业自荐书
2014/06/16 职场文书
营销总监岗位职责
2014/09/16 职场文书
委托书的写法
2014/09/16 职场文书
离婚起诉书范本
2015/05/18 职场文书
2016年元旦致辞
2015/08/01 职场文书
Mac电脑OS系统下安装Nginx的详细教程
2022/04/14 Servers