1

我正在尝试发出请求以使用 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;
   }
  }
 }

如您所见,我正在使用FormData将编码对象发送到 API。但是回复说字段名称电子邮件地址是必需的,但我已经将它们与表格一起发送。我在这里做错了什么?GetConnect 文档有一个类似的文件上传文档,但没有其他字段(即姓名、电子邮件、地址)。此外,如果我从 FormData 中省略 MultiartFile,它就可以工作。

4

0 回答 0