开发uniapp项目中,本地环境测试是没问题的,到打包发布后,使用uni.uploadFile()
就出现了上传失败问题,报跨域问题一直解决不了,
想到这可能是服务器后台业务接收不到formdata表单除file外的数据,不支持post传参,试试改成get传参应该可以,先看js代码:
let formData = {
c: 'ent',
a: 'app',
m: 'edu',
t: 'upload_img'
};
let params = '';
for (let k in formData) {
if (params) params += '&';
params += `${k}=${formData[k]}`;
}
//发布后跨域上传失效问题,改成如下方式可解决
uni.uploadFile({
// url: that.input_link,
url: `${that.input_link}?${params}`, //改为Get方式传参
// formData:formData,//不需要
name: 'files',
filePath: img,
success(res) {
console.log('upload2', res);
// if (res.data) that.img = res.data;
},
fail(err) {
console.error(err)
}
});