微信小程序上传图片到服务器实例代码


Posted in Javascript onNovember 07, 2017

上传图片到服务器:

1.先在前端写一个选择图片的区域来触发wx.chooseImage接口并用wx.setStorage接口把图片路径存起来。

微信小程序上传图片到服务器实例代码

-wxml
 <view class="shangchuan" bindtap="choose">
  <image style="width:100%;height:100%;" src="{{tempFilePaths}}"></image>
 </view>
 <button formType='submit' class="fabu">发布项目</button>
 /**选择图片 */
 choose: function () {
  var that = this
  wx.chooseImage({
   count: 1,
   sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
   sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
   success: function (res) {
    var tempFilePaths = res.tempFilePaths
    that.setData({
     tempFilePaths: res.tempFilePaths
    })
    console.log(res.tempFilePaths)
    wx.setStorage({ key: "card", data: tempFilePaths[0] })
   }
  })
 },

2.使用wx.uploadFile将刚才上传的图片上传到服务器上

formSubmit2: function (e) {
    var that = this
    var card = wx.getStorageSync('card')
    wx.uploadFile({
     url: app.globalData.create_funds,
     filePath: card,
     name: 'card',
     formData: {
      'user_id': app.globalData.user_id,
      'person': e.detail.value.person,
      'company': e.detail.value.company,
     },
     success: function (res) {
      console.log(res)
     }
    })
   }
  }
 },

PS: 微信小程序上传一或多张图片

一.要点

1.选取图片

wx.chooseImage({
   sizeType: [], // original 原图,compressed 压缩图,默认二者都有
   sourceType: [], // album 从相册选图,camera 使用相机,默认二者都有
   success: function (res) {
    console.log(res);
    var array = res.tempFilePaths, //图片的本地文件路径列表
   }
  })

2.上传图片

wx.uploadFile({
   url: '', //开发者服务器的 url
   filePath: '', // 要上传文件资源的路径 String类型!!!
   name: 'uploadFile', // 文件对应的 key ,(后台接口规定的关于图片的请求参数)
   header: {
    'content-type': 'multipart/form-data'
   }, // 设置请求的 header
   formData: { }, // HTTP 请求中其他额外的参数
   success: function (res) {
   },
   fail: function (res) {
   }
  })

二.代码示例

// 点击上传图片
upShopLogo: function () {
  var that = this;
  wx.showActionSheet({
   itemList: ['从相册中选择', '拍照'],
   itemColor: "#f7982a",
   success: function (res) {
    if (!res.cancel) {
     if (res.tapIndex == 0) {
      that.chooseWxImageShop('album')  
     } else if (res.tapIndex == 1) {
      that.chooseWxImageShop('camera')
     }
    }
   }
  })
 },
 chooseWxImageShop: function (type) {
  var that = this;
  wx.chooseImage({
   sizeType: ['original', 'compressed'],
   sourceType: [type],
   success: function (res) {
/*上传单张
    that.data.orderDetail.shopImage = res.tempFilePaths[0],
    that.upload_file(API_URL + 'shop/shopIcon', res.tempFilePaths[0])
*/
 /*上传多张(遍历数组,一次传一张)
    for (var index in res.tempFilePaths) {
       that.upload_file(API_URL + 'shop/shopImage', res.tempFilePaths[index])
    }
*/
   }
  })
 },
upload_file: function (url, filePath) {
  var that = this;
  wx.uploadFile({
   url: url,
   filePath: filePath,
   name: 'uploadFile',
   header: {
    'content-type': 'multipart/form-data'
   }, // 设置请求的 header
   formData: { 'shopId': wx.getStorageSync('shopId') }, // HTTP 请求中其他额外的 form data
   success: function (res) {
    wx.showToast({
       title: "图片修改成功",
       icon: 'success',
       duration: 700
      })
   },
   fail: function (res) {
   }
  })
 },

总结

以上所述是小编给大家介绍的微信小程序上传图片到服务器实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Javascript 获取链接(url)参数的方法[正则与截取字符串]
Feb 09 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
js监听滚动条滚动事件使得某个标签内容始终位于同一位置
Jan 24 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
JS结合bootstrap实现基本的增删改查功能
Jul 22 Javascript
总结十个Angular.js由浅入深的面试问题
Aug 26 Javascript
关于Node.js的events.EventEmitter用法介绍
Apr 01 Javascript
JavaScript设计模式之代理模式详解
Jun 09 Javascript
用Vue.extend构建消息提示组件的方法实例
Aug 08 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
Oct 11 Javascript
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 #Javascript
vue组件间通信子与父详解(二)
Nov 07 #Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 #Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 #Javascript
vue组件父与子通信详解(一)
Nov 07 #Javascript
vue组件父子间通信之综合练习(聊天室)
Nov 07 #Javascript
Mint UI 基于 Vue.js 移动端组件库
Nov 07 #Javascript
You might like
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
jQuery渐变发光导航菜单的实例代码
2013/03/27 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
分享12个非常实用的JavaScript小技巧
2016/05/11 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
2016/11/07 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
angularjs 页面自适应高度的方法
2018/01/17 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
vue+elementUI 实现内容区域高度自适应的示例
2020/09/26 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
为Python的web框架编写MVC配置来使其运行的教程
2015/04/30 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python实现输入任意一个大写字母生成金字塔的示例
2019/10/27 Python
Python字节单位转换实例
2019/12/05 Python
python中remove函数的踩坑记录
2021/01/04 Python
python用opencv 图像傅里叶变换
2021/01/04 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
苹果音乐订阅:Apple Music
2018/08/02 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
关于VPN
2012/06/10 面试题
迟到早退检讨书
2014/02/10 职场文书
幼儿园运动会口号
2014/06/07 职场文书
计算机实训报告范文
2014/11/05 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
消防演习感想
2015/08/10 职场文书
利用Selenium添加cookie实现自动登录的示例代码(fofa)
2021/05/08 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python