微信小程序-拍照或选择图片并上传文件


Posted in Javascript onJanuary 06, 2017

微信小程序-拍照或选择图片并上传文件

调用拍照API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/media-picture.html?t=20161222#wxchooseimageobject

上传文件API:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html

主要js代码:

choice: function () { 
  var that = this 
  wx.chooseImage({ 
   count: 1, // 默认9 
   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 
   success: function (res) { 
    // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 
    var tempFilePaths = res.tempFilePaths 
    that.setData({ 
     textHidden: true, 
     image_photo: tempFilePaths, 
     photoHidden: false 
    }) 
   } 
  }) 
 }, 
 uploadPhoto: function () { 
  var that = this 
  let param = util.json2Form({ 
   tel: '18600346580', 
   orderSn: that.data.orderSn, 
   parkingPhoto: that.data.image_photo, 
  }); 
  wx.uploadFile({ 
   url: 'https://testapi.****.com/v4.0.0/uploadParkingPhoto', //仅为示例 
   filePath: that.data.image_photo[0], 
   name: 'parkingPhoto', 
   formData: { 
    'tel': '***********', 
    'orderSn': that.data.orderSn, 
   }, 
   success: function (res) { 
    var obj = JSON.parse(res.data);; 
    console.log(obj.result) 
    console.log(obj.msg) 
    var resule = obj.result; 
    var msg = obj.msg; 
    if (resule == 'false') { 
     wx.showToast({ 
      title: msg, 
      icon: 'success', 
      duration: 2000 
     }) 
    } else { 
     wx.navigateBack({ 
      delta: 1, 
      success: function (res) { 
       wx.showToast({ 
        title: msg, 
        icon: 'success', 
        duration: 2000 
       }) 
      }, 
 
     }) 
    } 
   } 
  }) 
 
 }

Tip:

1.调用wx.chooseImage() 自动弹出选择窗口,不用调用操作菜单wx.showActionSheet(),否则重复

如图

微信小程序-拍照或选择图片并上传文件

2. 上传文件的时候filePath必须是数组,当你单张的时候需要使用数组,若只有一张要用[0]

3. 最需要注意的是,success返回数据是String类型,我们需要将String类型转换成Object

微信小程序-拍照或选择图片并上传文件

js字符串转换成obj

用js 是有三种方法的

  1. js自带的eval函数,其中需要添加小括号eval('('+str+')');
  2. JSON.parse(str)
  3. $.parseJSON( jsonstr )

但是在微信小程序中,我们只能用JSON.parse(str),其他的都不可以

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
根据表格中的某一列进行排序的javascript代码
Nov 29 Javascript
javascript/jquery获取地址栏url参数的方法
Mar 05 Javascript
用js判断是否为360浏览器的实现代码
Jan 15 Javascript
js实现带关闭按钮始终显示在网页最底部工具条的方法
Mar 02 Javascript
详谈LABJS按需动态加载js文件
May 07 Javascript
js实现的二级横向菜单条实例
Aug 22 Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 Javascript
深入理解vue-loader如何使用
Jun 06 Javascript
浅谈node中的exports与module.exports的关系
Aug 01 Javascript
JS实现li标签的删除
Apr 12 Javascript
Vue路由切换页面不更新问题解决方案
Jul 10 Javascript
vue.js Router中嵌套路由的实用示例
Jun 27 Vue.js
ajax异步请求详解
Jan 06 #Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 #Javascript
微信小程序 二维码canvas绘制实例详解
Jan 06 #Javascript
微信小程序 小程序制作及动画(animation样式)详解
Jan 06 #Javascript
JS调用Android、Ios原生控件
Jan 06 #Javascript
JS正则匹配中文的方法示例
Jan 06 #Javascript
JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)
Jan 06 #Javascript
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
php URL跳转代码 减少外链
2011/06/25 PHP
PHP面向对象程序设计之接口用法
2014/08/20 PHP
PHP+Mysql实现多关键字与多字段生成SQL语句的函数
2014/11/05 PHP
PHP集成百度Ueditor 1.4.3
2014/11/23 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
微信通过页面(H5)直接打开本地app的解决方法
2017/09/09 Javascript
前端axios下载excel文件(二进制)的处理方法
2018/07/31 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Pandas过滤dataframe中包含特定字符串的数据方法
2018/11/07 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
使用Python将字符串转换为格式化的日期时间字符串
2019/09/01 Python
PyCharm+PyQt5+QtDesigner配置详解
2020/08/12 Python
6号汽车旅馆预订:Motel 6
2018/02/11 全球购物
英国领先的在线旅游和休闲零售商:lastminute.com
2019/01/23 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
前台文员我鉴定
2014/01/12 职场文书
写给女生的道歉信
2014/01/14 职场文书
缅怀革命先烈演讲稿
2014/05/14 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
师德承诺书
2015/01/20 职场文书
自我评价优缺点范文
2015/03/11 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js