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


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语句中的CDATA标签的意义
May 09 Javascript
Javascript模块化编程(一)模块的写法最佳实践
Jan 17 Javascript
jquery实现图片裁剪思路及实现
Aug 16 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
Dec 02 Javascript
Bootstrap学习笔记之css样式设计(1)
Jun 07 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
Jun 14 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
vue webuploader 文件上传组件开发
Sep 23 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
js实现简单商品筛选功能
Feb 02 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
url decode problem 解决方法
2011/12/26 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
在html文件中也可以执行php语句的方法
2015/04/09 PHP
PHP类型约束用法示例
2016/09/28 PHP
jQuery Clone Bug解决代码
2010/12/22 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
Vue.js实现立体计算器
2020/02/22 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
struct与class的区别
2014/02/03 面试题
请写出 BOOL flag 与"零值"比较的 if 语句
2016/02/29 面试题
加工操作管理制度
2014/01/19 职场文书
报社实习生自荐信
2014/01/24 职场文书
《画》教学反思
2014/04/14 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
董事会决议范本
2015/07/01 职场文书
财产分割协议书
2016/03/22 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript
box-shadow单边阴影的实现
2023/05/21 HTML / CSS