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


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 EasyUI 对话框的使用方法
Oct 24 Javascript
jqGrid日期格式的判断示例代码(开始日期与结束日期)
Nov 08 Javascript
jQuery实现鼠标经过图片预览大图效果
Apr 10 Javascript
基于javascript实现图片预加载
Jan 05 Javascript
javascript比较语义化版本号的实现代码
Sep 09 Javascript
简单谈谈js的数据类型
Sep 25 Javascript
VueJs监听window.resize方法示例
Jan 17 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
Aug 06 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 Javascript
小程序:授权、登录、session_key、unionId的详解
May 15 Javascript
layui实现下拉框三级联动
Jul 26 Javascript
angular4实现带搜索的下拉框
Mar 25 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
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
js两行代码按指定格式输出日期时间
2011/10/21 Javascript
jQuery之$(document).ready()使用介绍
2012/04/05 Javascript
浅谈javascript中replace()方法
2015/11/10 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
2016/09/18 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
Angular之toDoList的实现代码示例
2017/12/02 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
js根据需要计算数组中重复出现某个元素的个数
2019/01/18 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
pytorch cnn 识别手写的字实现自建图片数据
2018/05/20 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
对pandas处理json数据的方法详解
2019/02/08 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
python模拟哔哩哔哩滑块登入验证的实现
2020/04/24 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
移动端适配 使px自动转换rem
2019/08/26 HTML / CSS
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
2018/03/02 HTML / CSS
Python里面search()和match()的区别
2016/09/21 面试题
应聘医药代表职位求职信
2013/10/21 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
毕业生个人求职自荐信
2014/02/26 职场文书
精彩的广告词
2014/03/19 职场文书
校园安全广播稿范文
2014/09/25 职场文书
小学秋季运动会通讯稿
2015/11/25 职场文书
Golang入门之计时器
2022/05/04 Golang
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers
DQL数据查询语句使用示例
2022/12/24 MySQL