Я пытаюсь отправить файл из приложения флаттера в API. Этот API принимает следующие значения:
Здесь profileImage
принимает тип File
Это код, который я использовал во флаттере
....................
....................
final File _imgfile = widget.imageFile;
print(_fbName + _fbEmail);
final body = {
"name": _fbName,
"gender": gender,
"bday": bday,
"email": _fbEmail,
"phone": _phone,
"profileImage": _imgfile
};
print(body);
RegisterUserService.RegisterUser(jsonEncode(body))
.then((success) {
if (success) {
print('registration successfull');
//passing data to next screens
Navigator.of(context).push(MaterialPageRoute(
builder: (context) => SetupStepThree()));
} else {
print('registration error !');
}
});
..................
И этот сервис вызывается указанным выше кодом
class RegisterUserService {
static Future<bool> RegisterUser(body) async {
final response =
await http.post('${URLS.BASE_URL}/user/register', body:body);
var data = response.body;
// print(body);
print(json.decode(data));
// Map<String, dynamic> res_data = jsonDecode(data);
// log(res_data['loginstatus']);
// if (res_data['loginstatus'] == 'olduser') {
// return true;
// } else {
// return false;
// }
return false;
}
}
Но дело в том, что это дает мне следующую ошибку:
**
I/flutter ( 4860): ══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
I/flutter ( 4860): The following JsonUnsupportedObjectError was thrown while handling a gesture:
I/flutter ( 4860): Converting object to an encodable object failed: Instance of '_File'
**
Я хочу знать, что не так с этим кодом и как можно Я передаю изображение в эту конечную точку