开发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)
	}
});

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐