Ok, avant de commencer à dire que c'est un doublon et ainsi de suite ... J'ai essayé tous les moyens que j'ai trouvés sur le relâchement/documentations et ça ne m'a pas aidé du tout ... et Je ne peux pas comprendre ce que le problème estokhttp request/multipart image
donc, ce sont 2 dernières façons j'ai essayé de faire la demande
final MediaType MEDIA_TYPE_PNG = MediaType.parse("image/png");
//RequestBody reqFile = RequestBody.create(MediaType.parse("multipart/form-data"), loadImageFile);
//MultipartBody.Part filePart = MultipartBody.Part.createFormData("picture", loadImageFile.getName(), reqFile);
//RequestBody filename =
RequestBody.create(MediaType.parse("text/plain"),loadImageFile.getName());
RequestBody requestBody = RequestBody.create(MediaType.parse("image/*"),
loadImageFile);
MultipartBody.Part filePart = MultipartBody.Part.createFormData("file",
loadImageFile.getName(), requestBody);
les parties est un moyen de commentaires, et les autres lignes est la façon dont je Je le fais maintenant ..
Ici, j'ai l'interface
@Multipart
@POST(RestClient.API_REGISTER_URL)
Call<ResponseBody> register(@Query("name") String name, @Query("email") String email,
@Query("password") String password, @Query("location") String location,
@Query("latitude") double latitude, @Query("longitude") double longitude,
@Query("gender") String gender, @Part MultipartBody.Part picture,
@Part("picture") RequestBody file,
@Query("device_uuid") String device_uuid, @Query("device_os") String device_os,
@Query("push_token") String push_token, @Query("api_key") String user);
Pour être honnête, je ne peux tout simplement pas comprendre pourquoi il n'est pas working..the corps de réponse du serveur est « L'image doit être une image » qui me fait penser que de toute façon il ne reconnaître le fichier que j'envoie
Toute aide serait appréciée, merci.
EDIT J'ai changé un peu le code lil, une autre façon je tentais de le faire, et encore quelque chose ne vous satisfait pas à cette demande ...
RequestBody req = new MultipartBody.Builder().setType(MultipartBody.FORM)
.addFormDataPart("picture", loadImageFile.getName(), RequestBody.create(MultipartBody.FORM, loadImageFile))
.build();
MultipartBody.Part part = MultipartBody.Part.createFormData("picture", loadImageFile.getName(), req);
Il ne peut pas être sur le côté serveur, sur iOS cela fonctionne. Donc ça devrait être côté client Qu'est-ce que branchCode var? –
En outre, votre image se trouve sur l'appareil? –
Juste le nom du paramètre pour le côté serveur. Et le fichier que vous voulez télécharger – FnR