前言
微信小程序的官方文档中,上传文件的时候可以在提供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}