微信小程序获取表单数据

uploadFile中用表单数据做formData

Posted by Ayi on September 7, 2018

前言

微信小程序的官方文档中,上传文件的时候可以在提供formData中加入http额外的请求参数,这次我想利用这个formData传入表单数据给后台作为用户的唯一标识,以区别文件是哪个用户上传的

如何操作

有了这个想法以后,我是这样操作的,先让用户填写表单,然后在提交表单的时候一起上传文件。

代码如下

js文件

formSubmit: function(e) {
		this.uploadvideo(e)
},
//上传视频函数
uploadvideo: function(e) {
    var src = this.data.src;
    var phone=e.detail.value.phone;
    console.log(phone)
    wx.uploadFile({
      url: 'http://172.16.92.237:8080/upanddown/upload2',
      method: 'POST',
      filePath: src,
      header: {
        'content-type': 'multipart/form-data'
      },
      name: 'files',
      formData: {
        phone: phone
      },
      success: function() {
        console.log('视频上传成功')
      },
      fail: function() {
        console.log('接口调用失败')
      }
    })
  }

这里需要注意的是一开始this.uploadvideo(e)括号内是没有写入对象e,跑代码最后会导致表单数据undefined

同样在定义上传函数的时候也要引入e对象

先获取表单数据var phone=e.detail.value.phone;

再插入formDataformData: {phone: phone}