0
votes

Comment télécharger une image sur API de serveur avec flotteur

Je suis nouveau pour flutter le développement. Mon problème est que j'essaie de télécharger l'image, mais je continue à obtenir une demande échouée.

Ce morceau de code est l'endroit où je le connecte avec une API de serveur qui recevra le fichier image du flutter. Attachement de chaîne qui consiste en un chemin d'image transmis à partir de la fonction CreateinCident située à une autre page. xxx

Ceci est le code de code où je reçois le chemin d'image de l'image sélectionnée de l'image sélectionnée de l'image sélectionnée La galerie xxx

Il s'agit du code où j'ai passé la chaîne de fixation à la réponse HTTP xxx


3 commentaires

Vérifiez ma réponse ici, cela pourrait vous aider Stackoverflow.com/a/58800596/5734205


Merci beaucoup. Je vais tester la solution que vous avez fournie. Je pense que ce n'est pas une duplication comme ce que son exigence et son mine sont un peu différents.


D'accord, vous pouvez télécharger des images simples et multiples via ma solution.


3 Réponses :


1
votes

Vous pouvez télécharger une image à l'aide de l'encode multipart ou base64.

pour le téléchargement de l'image à l'aide de MultiPart Visitez le Documentation officielle

Pour le téléchargement de l'image à l'aide de la base64 Encode Vous pouvez vérifier le Tutoriel ici

Je suggère d'utiliser le téléchargement de l'image multipart, car il est même fiable lorsque votre image ou vos fichiers sont de taille plus grande.


0 commentaires

0
votes

J'espère que cela pourrait vous aider,

Créer une fonction pour télécharger votre image après avoir choisi ou cliquer sur une image comme, xxx

alors vous pouvez utiliser UTILISER UTILIS UTILISHIMAGE, < / p> xxx

J'ai utilisé de dio pour la tâche, vous pouvez trouver plus de détails sur Dio ici

Ajoutez ceci au fichier PUBSPEC.YAML de votre colis: xxx

Importer Votre code de dard, vous pouvez utiliser: xxx


0 commentaires

0
votes

Pour télécharger une image à l'aide de l'API multipart Utilisez ce code, c'est-à-dire

Ajouter cette bibliothèque DIO code> dans votre projet dans PUBSPEC.YAML CODE> Fichier P>

Future<dynamic> _uploadFile() async {
    try {
      Options options = Options(
          //contentType: ContentType.parse('application/json'), // only for json type api
          );

      var directory = await getExternalStorageDirectory(); // directory path
      final path = await directory.path; // path of the directory
      Response response = await dio.post('/update_profile',
          data: FormData.from({
            "param_key": "value",
            "param2_key": "value",
            "param3_key": "value",
            "profile_pic_param_key": UploadFileInfo(File("$path/pic.jpg"), "pic.jpg"),

          }),
          options: options);
      setState(() {
        isLoading = false;
      });
      if (response.statusCode == 200 || response.statusCode == 201) {
        var responseJson = json.decode(response.data);
        return responseJson;
      } else if (response.statusCode == 401) {
        print(' response code 401');
        throw Exception("Incorrect Email/Password");
      } else
        throw Exception('Authentication Error');
    } on DioError catch (exception) {
      if (exception == null ||
          exception.toString().contains('SocketException')) {
        throw Exception("Network Error");
      } else if (exception.type == DioErrorType.RECEIVE_TIMEOUT ||
          exception.type == DioErrorType.CONNECT_TIMEOUT) {
        throw Exception(
            "Could'nt connect, please ensure you have a stable network.");
      } else {
        return null;
      }
    }
  }


0 commentaires