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


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判断录入的日期是否合法
Jan 08 Javascript
json 入门基础教程 推荐
Oct 31 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
Js 回车换行处理的办法及replace方法应用
Jan 24 Javascript
jQuery基本选择器选择元素使用介绍
Apr 18 Javascript
jquery实现对联广告的方法
Feb 05 Javascript
让JavaScript中setTimeout支持链式操作的方法
Jun 19 Javascript
解决html-jquery/js引用外部图片时遇到看不了或出现403的问题
Sep 22 jQuery
详解Vue 中 extend 、component 、mixins 、extends 的区别
Dec 20 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
Apr 22 Javascript
JavaScript中的函数式编程详解
Aug 22 Javascript
微信小程序实现点击生成随机验证码
Sep 09 Javascript
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安装攻略:常见问题解答(三)
2006/10/09 PHP
PHP session常见问题集锦及解决办法总结
2007/03/18 PHP
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
Laravel框架集合用法实例浅析
2020/05/14 PHP
JavaScript中链式调用之研习
2011/04/07 Javascript
javascript 闭包
2011/09/15 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
详解javascript高级定时器
2015/12/31 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
vue 解决路由只变化参数页面组件不更新问题
2019/11/05 Javascript
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python导入时小括号大作用
2017/01/10 Python
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
通过python爬虫赚钱的方法
2019/01/29 Python
Python中xml和dict格式转换的示例代码
2019/11/07 Python
Python库安装速度过慢解决方案
2020/07/14 Python
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
德国苹果商店:MacTrade
2020/05/18 全球购物
保险公司年会主持词
2014/03/22 职场文书
好学生评语大全
2014/05/05 职场文书
优秀党员事迹材料
2014/12/18 职场文书
员工年终考核评语
2014/12/31 职场文书
2015年平安创建工作总结
2015/04/29 职场文书
观后感的写法
2015/06/19 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
Python如何识别银行卡卡号?
2021/06/10 Python