Voici le code que j'utilise pour télécharger l'image sur le serveur. Mais ce n'est pas envoyer la bonne valeur comme user_id
de sorte qu'il me montre mauvais résultat. Quand je frappe l'api sur le chrome, son bon fonctionnement donne un bon résultat. J'utilisais le code avec le téléchargement Image:Rénovation n'envoie pas la bonne valeur au serveur
@Multipart
@POST("/queli_technologies/index.php/Webservice")
Call<EditProfileResponse> editProfile(@Part("u_id") String firstname,
@Part("f_name") String lastname,
@Part("l_name") String email,
@Part("c_no") String password,
@Part MultipartBody.Part file,
@Part("edit_profile") String register);
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"),file);
MultipartBody.Part body = MultipartBody.Part.createFormData("upload", file.getName(), reqFile);
service = RetroClient.getApiService();
Call<EditProfileResponse> responseCall = service.editProfile("44","Demo","android","0987654321",body,"edit_profile");
responseCall.enqueue(new Callback<EditProfileResponse>() {
@Override
public void onResponse(Call<EditProfileResponse> call, Response<EditProfileResponse> response) {
if (response.isSuccessful()){
EditProfileResponse res = response.body();
Log.e("Response " , res.getStatus() + " message : " + res.getMessage());
dialog.dismiss();
}
}
@Override
public void onFailure(Call<EditProfileResponse> call, Throwable t) {
}
});
Quand je DONOT obtenir le résultat correct j'utiliser ceci:
@Multipart
@POST("/queli_technologies/index.php/Webservice")
Call<EditProfileResponse> editProfile(@Part("u_id") RequestBody userId,
@Part("f_name") RequestBody frstname,
@Part("l_name") RequestBody lastname,
@Part("c_no") RequestBody contctnum,
@Part MultipartBody.Part file,
@Part("edit_profile") RequestBody edit);
File file = new File(BaseActivity.basicImagePath);
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("upload", file.getName(), reqFile);
service = RetroClient.getApiService();
String text = "31";
RequestBody useridbody =RequestBody.create(MediaType.parse("text/plain"), text);
RequestBody fnbody =RequestBody.create(MediaType.parse("text/plain"), "Demo");
RequestBody lnbody =RequestBody.create(MediaType.parse("text/plain"), "android");
RequestBody conbody =RequestBody.create(MediaType.parse("text/plain"), "0987654321");
RequestBody isbody =RequestBody.create(MediaType.parse("text/plain"), "edit_profile");
Call<EditProfileResponse> responseCall = service.editProfile(useridbody,fnbody,lnbody,conbody,body,isbody);
responseCall.enqueue(new Callback<EditProfileResponse>() {
@Override
public void onResponse(Call<EditProfileResponse> call, Response<EditProfileResponse> response) {
if (response.isSuccessful()){
EditProfileResponse res = response.body();
Log.e("Response " , res.getStatus() + " message : " + res.getMessage());
dialog.dismiss();
}
}
@Override
public void onFailure(Call<EditProfileResponse> call, Throwable t) {
Log.e("Failure Response " , t +"");
}
});
encore je ne suis pas en mesure obtenir un bon résultat. Réponse Api dans Log donne {"status":"0","message":"User doesnot exist"}
lors de l'utilisation grâce à la rétrofit. et de serveur il montre {"status":"1","message":"User profile Updated"}
Est-ce ce problème de rattrapage ou mon problème de codage?
Non Sir .. même réponse '0 message: L'utilisateur ne sort pas'' –
@PawandeepKaur: Utiliser Chaîne au lieu de Pièce. Veuillez vérifier le code du serveur. – zacharia
Si j'utilise 'String' alors comment puis-je envoyer une image avec' @ Multipart'? –