J'utilise dio: ^ 3.0.4. Quelqu'un s'il vous plaît aidez-moi à trouver la solution pour ajouter d'en-tête. Ici mon code:
FormData formData =
new FormData.fromMap({"files": await MultipartFile.fromFile(filePath.path, filename: 'photo')
});
Response response = await dio.post("***********",
data: formData,
onSendProgress: (int sent, int total) {
print("$sent $total");
},
options: Options(
headers: {
"authorization": "*************"
},
followRedirects: false,
validateStatus: (status) {
return status <= 500;
}
),
);
Quand j'imprime l'en-tête.
imprimer (réponse.aders);
résultat :
flutter: Type de contenu: Texte/HTML; Charset = UTF-8 Connexion: Close Cache-Control: Non-cache, codage de transfert privé: Chunked Date: Thu, 07 nov. 2019 14:29:02 GMT Server: Apache/2.4.18
Touche de bibliothèque dio fonctionnant parfaitement bien dans mon cas si nous passons petit boîtier valeur clé
Par exemple,
Dio dio = new Dio();
dio.options.headers['content-Type'] = 'application/json';
dio.options.headers["authorization"] = "token ${token}";
response = await dio.post(url, data: data);
assurez-vous d'écrire une clé dans petit boîtier, c'est le travail pour moi.
Ce travail pour moi après avoir essayé des moyens différents de transmettre l'argument aux en-têtes
Dio dio = new Dio();
dio.options.contentType = ContentType("application","x-www-form-urlencoded");
dio.options.headers[HttpHeaders.authorizationHeader] ="Basic $clientCredentials";
Il y a quelques questions similaires n'a pas de réponse
[.____] mais le travail suivant pour moi
[.____] Veuillez utiliser l'extrait de code suivant pour définir l'attribut d'en-têtes
Dio dio = new Dio();
dio.options.headers["Authorization"] = "Bearer ${token}";
response = await dio.post(url, data: data);