总结:uni.request 不支持 formData 类型的数据,无论是设置 header 还是 new formData 都会被转成 json 提交。
解决方法是使用 uni.uploadFile ,以下是封装为 Promise 的示例 :
function post<T>(data: any) {
return new Promise((resolve, reject) => {
uni.uploadFile({
url: 'your url',
filePath: '',
header: data.header,
formData: data.formData,
success: res => resolve(res),
fail: res => reject(res),
})
})
}
其中 filePath 是必须添加的,不然会报错,直接 filePath: ‘‘ 无伤大雅。
详细解答:https://blog.csdn.net/qq_37550440/article/details/126027839