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


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 相关文章推荐
通过下拉框的值来确定输入框是否可以为空的代码
Oct 18 Javascript
js实现n秒倒计时后才可以点击的效果
Dec 20 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
JavaScript定义全局对象的方法示例
Jan 12 Javascript
微信小程序tabBar底部导航中文注解api详解
Aug 16 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
Jan 04 Javascript
浅谈react受控组件与非受控组件(小结)
Feb 09 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
微信小程序实现购物车代码实例详解
Aug 29 Javascript
node.js使用fs读取文件出错的解决方案
Oct 23 Javascript
vue 路由守卫(导航守卫)及其具体使用
Feb 25 Javascript
小程序实现筛子抽奖
May 26 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/11/17 PHP
PHP 5.3和PHP 5.4出现FastCGI Error解决方法
2015/02/12 PHP
设定php简写功能的方法
2019/11/28 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
利用jquery实现下拉框的禁用与启用
2016/12/07 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
vue实现的上传图片到数据库并显示到页面功能示例
2018/03/17 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
通过js实现压缩图片上传功能
2020/02/25 Javascript
js实现点赞效果
2020/03/16 Javascript
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
Python对数据库操作
2016/03/28 Python
利用Python批量生成任意尺寸的图片
2016/08/29 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
python 实现判断ip连通性的方法总结
2018/04/22 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
html5 制作地图当前定位箭头的方法示例
2020/01/10 HTML / CSS
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
暂住证证明
2015/06/19 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL
HTML中link标签属性的具体用法
2023/05/07 HTML / CSS