S. *_*GIR 5 flutter flutter-getx
我正在尝试发出put请求以使用GetConnect更新用户配置文件。用户个人资料采用一些普通的 JSON 字段和一个用于个人资料图片的MultipartFile 。
这是我的ProfileProvider类:
class ProfileProvider extends GetConnect {
Future<ProfileModel> updateProfile({
String name,
String email,
String address,
File avatar,
}) async {
final headers = {
"Authorization": "Bearer $token",
"Content-Type": "application/json",
"Accept": "application/json",
};
String fileName = avatar.path.split("/").last;
final form = FormData({
"name": name,
"email": email,
"address": address,
"avatar": MultipartFile(avatar, filename: fileName),
});
final response = await put(url, form, headers: headers);
if (response.statusCode == 200) {
final profileModel = ProfileModel.fromJson(response.bodyString);
return profileModel;
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在使用FormData将编码的对象发送到 API。但回复说字段名称、电子邮件、地址是必需的,但我已经将它们与表格一起发送。我在这里做错了什么?GetConnect 文档具有类似的文件上传文档,但没有附加字段(即姓名、电子邮件、地址)。另外,如果我从 FormData 中省略 MultiartFile,它就可以工作。
小智 0
问题在于你的身体类型。删除“FormData”
请尝试使用下面的代码。
final form = {
"name": name,
"email": email,
"address": address,
"avatar": MultipartFile(avatar, filename: fileName),
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2807 次 |
| 最近记录: |