微信小程序 拍照或从相册选取图片上传代码实例


Posted in Javascript onAugust 28, 2019

这篇文章主要介绍了微信小程序 拍照或从相册选取图片上传代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

upload.wxml

<!--pages/upload/upload.wxml-->
<button bindtap='uploadPhoto'>拍照选取照片上传</button>

upload.js

// pages/upload/upload.js
Page({
 data: {
  imgData: []
 },
 uploadPhoto(e) { // 拍摄或从相册选取上传
  let that = this;
  wx.chooseImage({
   count: 1, // 默认9
   sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
   success(res) {
    let tempFilePaths = res.tempFilePaths; // 返回选定照片的本地路径列表 
    that.upload(that, tempFilePaths);
   }
  })
 },
 upload(page, path) { // 上传图片
  wx.showToast({ icon: "loading", title: "正在上传……" });
  wx.uploadFile({
   url: '上传图片接口url', //后端接口
   filePath: path[0],
   name: 'file',
   header: {
    "Content-Type": "multipart/form-data"
   },
   success(res) {
    if (res.statusCode != 200) {
     wx.showModal({ title: '提示', content: '上传失败', showCancel: false });
     return;
    } else{
     console.log("上传成功! 可对返回的值进行操作,比如:存入imgData;");
    }
   },
   fail(e) {
    wx.showModal({ title: '提示', content: '上传失败', showCancel: false });
   },
   complete() {
    wx.hideToast(); //隐藏Toast
   }
  })
 }
})

ps:以上是单图上传,如果需要多图上传,请看下方:

// pages/publish/publish.js
Page({
 data: {
  imgData: []
 },
 uploadPhoto(e) { // 拍摄或从相册选取上传
  let that = this;
  wx.chooseImage({
   count: 9 - that.data.imgData.length, // 默认最多上传9张
   sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
   success(res) {
    let tempFilePaths = res.tempFilePaths; // 返回选定照片的本地路径列表 
    that.upload(that, tempFilePaths);
   }
  })
 },
 upload(page, path) { // 上传图片
  let that = this;
  wx.showToast({ icon: "loading", title: "正在上传……" });
  for (var i=0; i<path.length; i++) {
   wx.uploadFile({
    url: '上传图片接口url', //后端接口
    filePath: path[i],
    name: 'file',
    header: app.globalData.header,
    success(res) {
     if (res.statusCode != 200) {
      wx.showModal({
       title: '提示', 
       content: '第' + i +'张图片上传失败', 
       showCancel: false
      });
      return;
     } else {
      console.log('第' + i +'张图片上传成功!可在此操作,比如:存入imgData;');
     }
    },
    fail(e) {
     wx.showModal({
     title: '提示', 
     content: '第' + i +'张图片上传失败', 
     showCancel: false
     });
    },
    complete() {
     wx.hideToast(); //隐藏Toast
    }
   })
  }
 }
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
window.parent与window.openner区别介绍
Apr 12 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 Javascript
js中document.write使用过程中的一点疑问解答
Mar 20 Javascript
js的toLowerCase方法用法实例
Jan 27 Javascript
jquery显示loading图片直到网页加载完成的方法
Jun 25 Javascript
深入理解node exports和module.exports区别
Jun 01 Javascript
深入理解JS继承和原型链的问题
Dec 17 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
Sep 28 Javascript
express + jwt + postMan验证实现持久化登录
Jun 05 Javascript
jQuery实现开关灯效果
Aug 02 jQuery
小程序中this.setData的使用和注意事项
Aug 28 #Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 #Javascript
vue实现标签云效果的方法详解
Aug 28 #Javascript
微信小程序通过js实现瀑布流布局详解
Aug 28 #Javascript
TypeScript类型声明书写详解
Aug 28 #Javascript
vue服务端渲染操作简单入门实例分析
Aug 28 #Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 #Javascript
You might like
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP面向对象概念
2011/11/06 PHP
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
2011/11/10 PHP
浅析php fwrite写入txt文件的时候用 \r\n不能换行的问题
2013/08/06 PHP
PHP中spl_autoload_register()和__autoload()区别分析
2014/05/10 PHP
php检测图片主要颜色的方法
2015/07/01 PHP
Yii2中cookie用法示例分析
2016/07/18 PHP
动态调用css文件——jquery的应用
2007/02/20 Javascript
My Desktop :) 桌面式代码
2008/12/29 Javascript
动态为事件添加js代码示例
2009/02/15 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
jQuery中实现prop()函数控制多选框(全选,反选)
2016/08/19 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
koa2 从入门到精通(小结)
2019/07/23 Javascript
怎么理解wx.navigateTo的events参数使用详情
2020/05/18 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
Python实现常见的回文字符串算法
2018/11/14 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
Python爬虫获取豆瓣电影并写入excel
2020/07/31 Python
英国定做窗帘和纺织品面料一站式商店:Dekoria
2018/08/29 全球购物
应届护士求职信范文
2014/01/26 职场文书
合同协议书格式
2014/04/18 职场文书
校庆口号
2014/06/20 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android