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


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 相关文章推荐
基于jquery实现的表格分页实现代码
Jun 21 Javascript
使用jquery实现图文切换效果另加特效
Jan 20 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
Jquery ajax请求导出Excel表格的实现代码
Jun 08 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
Nov 09 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
May 16 Javascript
对Vue- 动态元素属性及v-bind和v-model的区别详解
Aug 27 Javascript
解决vuecli3.0热更新失效的问题
Sep 19 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
vue使用element-ui实现表单验证
Dec 13 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 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(3)
2006/10/09 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
轻量级 JS ToolTip提示效果
2010/07/20 Javascript
JS实现悬浮移动窗口(悬浮广告)的特效
2013/03/12 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JavaScript通过function定义对象并给对象添加toString()方法实例分析
2015/03/23 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
BootStrap轻松实现微信页面开发代码分享
2016/10/21 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
node中的密码安全(加密)
2018/09/17 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
python使用Turtle库绘制动态钟表
2018/11/19 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
Python 如何测试文件是否存在
2020/07/31 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
将相和教学反思
2014/02/04 职场文书
小学生优秀评语大全
2014/04/22 职场文书
大学毕业生自我评价
2015/03/02 职场文书
MYSQL数据库使用UTF-8中文编码乱码的解决办法
2021/05/26 MySQL
零基础学java之循环语句的使用
2022/04/10 Java/Android