如果后端接口,上传文件的api是以put请求方式提交,比如在更新头像的场景下。
- 官方说明:
将本地资源上传到服务器。
客户端发起一个 HTTPS POST 请求,其中 content-type
为 multipart/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();
}
});