Как преобразовать файловый объект в кодируемый json объект во флаттере? - PullRequest
1 голос
/ 26 января 2020

Я пытаюсь отобразить profilePicture в объект File с помощью dart, у меня profilePicture сохранен как IFormFile в c# backend ..

Это функция отображения и другие функции в моем классе ManageUserModel:

Map<String, dynamic>toMap() {
return { 
"profilePicture":profilePicture,
(other mappings)
}
}
List<ManageUserModel> fromJson(String jsonData) {
 // Decode json to extract a map
final data = json.decode(jsonData);
return List<ManageUserModel>.from(
  data.map((item) => ManageUserModel.fromJson(item)));
 }

String toJson(ManageUserModel data) {
// First we convert the object to a map
final jsonData = data.toMap();
// Then we encode the map as a JSON string
 return json.encode(jsonData);
 }

Обратите внимание, что profilePicture является одним из атрибутов ManageUserModel и имеет тип Файл .

Когда запрос на обновление http вызывается с помощью этого метода:

 Future<String> updateUser(ManageUserModel data) async {
 final response = await client.put("$baseUrl/Users",
  headers: {"content-type": "application/json"},
  body: toJson(data),
  );
  if (response.statusCode == 200) {
  return "Success";
  } else {
  return "Fail";
  }
  }

Я получаю эту ошибку:

E / flutter (10061): [ОШИБКА: flutter / lib / ui / ui_dart_state. cc (157)] Необработанное исключение: Преобразование объекта в кодируемый объект ошибка: экземпляр _File

Любая помощь?

...