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


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 相关文章推荐
jquery中实现简单的tabs插件功能的代码
Mar 02 Javascript
浅谈关于JavaScript的语言特性分析
Apr 11 Javascript
js substr支持中文截取函数代码(中文是双字节)
Apr 17 Javascript
使用JS 清空File控件的路径值
Jul 08 Javascript
div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
Aug 29 Javascript
jquery的each方法使用示例分享
Mar 25 Javascript
jQuery is()函数用法3例
May 06 Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 Javascript
详解ES6之用let声明变量以及let loop机制
Jul 15 Javascript
javascript实现获取一个日期段内每天不同的价格(计算入住总价格)
Feb 05 Javascript
Vue中控制v-for循环次数的实现方法
Sep 26 Javascript
在微信小程序中渲染HTML内容的方法示例
Sep 28 Javascript
小程序中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伪静态页面函数附使用方法
2008/06/20 PHP
PHP与Java进行通信的实现方法
2013/10/21 PHP
PHP页面中文乱码分析
2013/10/29 PHP
CI框架整合widget(页面格局)的方法
2016/05/17 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
javascript之AJAX框架使用说明
2010/04/24 Javascript
jquery multiSelect 多选下拉框
2010/07/09 Javascript
javascrpt绑定事件之匿名函数无法解除绑定问题
2012/12/06 Javascript
JS控制弹出新页面窗口位置和大小的方法
2015/03/02 Javascript
动态加载JavaScript文件的两种方法
2016/04/22 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
jQuery中的一些小技巧
2017/01/18 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
vue实现模态框的通用写法推荐
2018/02/26 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
js实现类选择器和name属性选择器的示例步骤
2021/02/07 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
将Python文件打包成.EXE可执行文件的方法
2019/08/11 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
python异步Web框架sanic的实现
2020/04/27 Python
Python用摘要算法生成token及检验token的示例代码
2020/12/01 Python
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
授权委托书
2014/09/17 职场文书
打架检讨书
2015/01/27 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
吃通javascript正则表达式
2021/04/21 Javascript
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
python实现股票历史数据可视化分析案例
2021/06/10 Python
Python采集股票数据并制作可视化柱状图
2022/04/04 Python