采用uni.app开发,结合uview的u-upload组件
action: this.$H.common.baseurl + '/applets/commonattachment/upLoadFile',
fileList: [],
uploadData: {
'attType': 'complaint'
},
header: {
'content-type': 'multipart/form-data',
'Connection':'keep-alive'
}
//上传方法
wx.uploadFile({
url: this.action,
filePath: this.lists[index].url,
name: this.name,
formData: this.formData,
header: this.header,
success: res => {
// 判断是否json字符串,将其转为json格式
let data = this.toJson && this.$u.test.jsonString(res.data) ? JSON.parse(res.data) : res.data;
console.log(data)
console.log(res)
if (![200, 201, 204].includes(res.statusCode) || data.success == false) {
this.uploadError(index, data);
} else {
// 上传成功
this.lists[index].response = data;
this.lists[index].progress = 100;
this.lists[index].error = false;
this.$emit('on-success', data, index, this.lists, this.index);
}
},
fail: e => {
this.uploadError(index, e);
},
complete: res => {
uni.hideLoading();
this.uploading = false;
this.uploadFile(index + 1);
this.$emit('on-change', res, index, this.lists, this.index);
}
});
工具这边请求https是没问题的:
返回结果:
不检验合法域名关闭:
真机调试:
在后端接口日志查看是真机时没有获取到文件,图中①迭代器获取文件name为空。(期间使用@RequestParam("file") MultipartFile file 获取文件依旧为空)
请问这个问题有什么解决思路吗
关键是“name”,值为后端接收文件的字段名
请移步uni-app官方社区
有没有获取到文件你打印下就知道了