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


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 smipleChart 简单图标类
Jan 12 Javascript
JavaScript学习笔记之JS事件对象
Jan 22 Javascript
jQuery中大家不太了解的几个方法
Mar 04 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 Javascript
Node.js Sequelize如何实现数据库的读写分离
Oct 23 Javascript
Bootstrap模态框案例解析
Mar 05 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
layui 对table中的数据进行转义的实例
Sep 12 Javascript
JSON stringify方法原理及实例解析
Oct 23 Javascript
解决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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
js实现网页定位导航功能
2017/03/07 Javascript
Angular2使用Guard和Resolve进行验证和权限控制
2017/04/24 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
Vue中使用webpack别名的方法实例详解
2018/06/19 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
js编写简易的计算器
2020/07/29 Javascript
python使用marshal模块序列化实例
2014/09/25 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
2016/07/04 Python
Django 连接sql server数据库的方法
2018/06/30 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
对python读写文件去重、RE、set的使用详解
2018/12/11 Python
Python 移动光标位置的方法
2019/01/20 Python
python区块及区块链的开发详解
2019/07/03 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
护士毕业自我鉴定
2014/02/07 职场文书
社区党建工作方案
2014/06/10 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
小学教学工作总结2015
2015/05/13 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
治庸问责工作总结
2015/08/11 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电