Hello world !
je suis en train de galérer pour envoyer une image dans Directus.
Est-ce que vous avez déjà réalisé cette opération ?
Voici mon code qui fonctionne avec le package http avec uniquement mes champs texte :
var uri = Uri.parse("https://api.xxx.com/xxx/xxxxx");
var headers = {
'Content-Type': 'application/json; charset=UTF-8',
};
Map<String, dynamic> body = {
'mission: '1b11d06d-a96a-4813-a6da-d5ef3ecdac3d',
'date': '1990-01-24T18:00:00'
};
String jsonBody = json.encode(body);
final response = await http.post(uri, headers: headers, body: jsonBody);
et voici mon code qui fonctionne avec le package dio avec uniquement mes champs texte :
var dio = Dio();
var formData = {
'mission': '1b11d06d-a96a-4813-a6da-d5ef3ecdac3d',
'date': '1984-01-24T18:00:00'
};
var response = await dio.post(
'https://api.xxx.com/xxx/xxxxx',
data: jsonEncode(formData),
);
Il n’y a plus qu’à rajouter le fichier (généré par la camera) mais je n’y suis pas arrivé
J’ai tenté plusieurs méthodes en vain :
var formData = {
'mission': '1b11d06d-a96a-4813-a6da-d5ef3ecdac3d',
'date': '1984-01-24T18:00:00',
"photo":
await MultipartFile.fromFile(fichier.path, filename: 'monFichier'),
};
NoSuchMethodError (NoSuchMethodError: Class ‹ MultipartFile › has no instance method ‹ toJson ›.
Receiver: Instance of ‹ MultipartFile ›
Tried calling: toJson())
Merci d’avance pour votre aide