如何解决使用 MultipartFile GetConnect
我正在尝试使用 GetConnect 发出 put 请求以更新用户配置文件。用户个人资料采用一些普通的 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;
}
}
}
如您所见,我使用 FormData 将编码对象发送到 API。但是回复说字段姓名、电子邮件、地址 是必需的,但我已经将它们与表单一起发送了。 我在这里做错了什么? GetConnect 文档有一个类似的文件上传文档,但没有其他字段(即姓名、电子邮件、地址)。此外,如果我从 FormData 中省略 MultiartFile,它就可以工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。