Rénovation - Multipart demande: MultipartFile paramètre "file" (fichier n'est pas présent
Je suis en train d'envoyer le fichier sur le serveur à l'aide de Retrofit2.
Je fais tout en fonction de la documentation, mais toujours obtenir 400 erreur de serveur.
Je suis tenté de faire comme ceci:
RequestBody body =
RequestBody.create(MediaType.parse("image/png"), photo);
//..........
@Multipart
@POST(ADD_PHOTO)
Observable<HPSPhotoResponse>
addPhoto(@Part("file") RequestBody file);
...et comme cela:
MultipartBody.Part part = MultipartBody.Part.createFormData("file", "file", body);
//...........
@Multipart
@POST(ADD_PHOTO)
Observable<HPSPhotoResponse>
addPhoto(@Part("file") MultipartBody.Part files);
n'a pas d'importance. Le résultat est toujours le même "Multipart demande: MultipartFile paramètre "file" (fichier n'est pas présent" - la réponse du serveur.
Je pense que le Printemps est sur le serveur fonctionne pas bien mais je ne l'équivalent code Swift (iOS) et cela fonctionne! Ici Serveur voit ce "fichier".
Alamofire.upload(method, endpoint, headers: headers,
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: self.filePath!, name: "file")
}
Maintenant, je veux qu'il fonctionne sur Android avec de Rénovation.
Mais j'ai même regarder dans les logs de Rénovation des demandes et en effet je ne vois pas de "fichier" texte dans les journaux.
Quoi est-ce mal?
OriginalL'auteur Yura Buyaroff | 2016-04-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer l'exemple de code suivant. Dans cette démo application, nous allons télécharger une photo après la sélection de la Galerie. Espérons que cela aide!
construire.gradle fichier:
WebAPIService.java fichier:
FileActivity.java fichier:
Comment envoyer l'image avec le paramètre?si j'ajoute l'image avec le paramètre puis java.lang.IllegalArgumentException: @Partie des paramètres à l'aide de la MultipartBody.Le cadre ne doit pas inclure une partie du nom de l'annotation
Je n'ai pas pu tester avec de Rénovation depuis des mois, cependant, vous pouvez essayer d'utiliser
@Part("description") RequestBody description
que mon code ci-dessus ou mentionnés dans le carré.github.io/renovationJ'ai des difficultés avec l'Retrofit2 POST avec plusieurs parties, posté ma question ici: stackoverflow.com/questions/43320205/.... Un pointeur ici? Merci!
vous devrait utiliser
@Part
au lieu@Part("file")
.OriginalL'auteur BNK
Dans mon cas, le serveur n'était pas de la manipulation des en-têtes de rénovation qui est de l'envoi. C'est pourquoi j'ai dû enlever inutile d'en-tête de rénovation des demandes. J'ai créé l'interface de la fonction comme ceci:
Et de l'appeler comme:
voir plus de détails ici: Télécharger l'image vers le serveur à l'aide de rénovation 2
OriginalL'auteur Axbor Axrorov