Flutter: http post télécharger une image

- Je utiliser un web service pour le traitement de l'image , il fonctionne bien dans Postman:

Flutter: http post télécharger une image

Maintenant je veux faire la requête http dans le flutter avec Dart:

import 'package:http/http.dart' as http;

static ocr(File image) async {
    var url = '${API_URL}ocr';
    var bytes = image.readAsBytesSync();

    var response = await http.post(
        url,
        headers:{ "Content-Type":"multipart/form-data" } ,
        body: { "lang":"fas" , "image":bytes},
        encoding: Encoding.getByName("utf-8")
    );

    return response.body;

  }

mais je ne sais pas comment faire pour télécharger le fichier de l'image, dans le code ci-dessus-je obtenir de l'exception: Bad state: Cannot set the body fields of a Request with content-type "multipart/form-data".

Comment dois-je rédiger le corps de la demande?

pour une solution de contournement: - je demander à mon serveur les gars pour changer de serveur de l'api à accepter encodées en base64 image à la place. alors j'ai mis la base64 image encodée comme une chaîne de caractères dans le corps avec un type de contenu de l'en-tête égal à application/x-www-form-urlencoded et il fonctionne.
Question similaire, la réponse ici stackoverflow.com/questions/44841729/...
Je ne veux pas envoyer encodé en base 64 octets
cette réponse m'a aidé stackoverflow.com/a/49645074/6133481

OriginalL'auteur Mneckoee | 2018-03-06