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


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脚本
Aug 04 Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
EasyUI Combobox设置默认值 获取text的方法
Nov 28 Javascript
Angular 表单控件示例代码
Jun 26 Javascript
React中上传图片到七牛的示例代码
Oct 10 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
微信小程序实现页面浮动导航
Jan 28 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
VUE中setTimeout和setInterval自动销毁案例
Sep 07 Javascript
js删除对象中的某一个字段的方法实现
Jan 11 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
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
php 随机记录mysql rand()造成CPU 100%的解决办法
2010/05/18 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
php无限极分类实现方法分析
2019/07/04 PHP
JavaScript Event学习第九章 鼠标事件
2010/02/08 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
javascript限制用户只能输汉字中文的方法
2014/11/20 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
python集合类型用法分析
2015/04/08 Python
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
基于python的Tkinter编写登陆注册界面
2017/06/30 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
土耳其家居建材网站:Koçtaş
2016/11/22 全球购物
大学生职业生涯规划书模板
2014/01/03 职场文书
教育学习自我评价
2014/02/03 职场文书
大学生党员承诺书
2014/05/20 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
升学宴学生答谢词
2015/01/05 职场文书
学雷锋献爱心倡议书
2015/04/27 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
go类型转换及与C的类型转换方式
2021/05/05 Golang
详解PHP设计模式之依赖注入模式
2021/05/25 PHP
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
Redis集群新增、删除节点以及动态增加内存的方法
2021/09/04 Redis
app场景下uniapp的扫码记录
2022/07/23 Java/Android