小程序上传接口wx.uploadFile小坑

如果后端接口,上传文件的api是以put请求方式提交,比如在更新头像的场景下。

将本地资源上传到服务器。

客户端发起一个 HTTPS POST 请求,其中 content-typemultipart/form-data

  • 目前好像不支持在小程序端自定义请求方式,所以对应的,我们后端接口也要调整为

    post请求方式

以uni-app为例

// 上传新头像
uni.uploadFile({
	url: setting.appBaseUrl + '/system/user/app/uploadAvatar',
	filePath: tempFacePath,
	name: 'file',
	header: {
		Authorization: 'bearer ' + getToken()
	},
	success(res) {
		// 由于res.data是一个json字符串,因此需要作转换
		let data = JSON.parse(res.data);
		if (data.code === 200) {
			setUserInfo(data.data);
			// 参考文档 https://uniapp.dcloud.io/api/router?id=navigateback
			uni.navigateBack({
				delta: 1
			})
		} else if (data.code === 500) {
			uni.showToast({
				mask: true,
				duration: 2000,
				image: '../../static/icos/error.png',
				title: '更换头像失败!'
			})
		}
	},
	complete() {
		uni.hideLoading();
	}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章