欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-06 21:11:07
上传图片到服务器: 1.先在前端写一个选择图片的区域来触发wx.chooseimage接口并用wx.setstorage接口把图片路径存起来。 -wxml...

上传图片到服务器:

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) {
   }
  })
 },

总结

以上所述是小编给大家介绍的微信小程序上传图片到服务器实例代码,希望对大家有所帮助