0
サーバーに画像をアップロードするために使用しているコードは次のとおりです。しかし、それは私に間違った結果を示すようにuser_id
のような正しい値を送信していません。私がクロムでapiを押すと、うまく動作しますが、適切な結果が得られます。私は画像をアップロードすると、コードを使用していたことである。サーバーに正しい値を送信していません
@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) {
}
});
私は正しい結果を得るscroll down toパソコンへ転送するとき、私はこれを使用します。
@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 +"");
}
});
まだ、イムことができません正しい結果を得ることができます。 Rebuiltを使用すると、ログ内のApi応答は{"status":"0","message":"User doesnot exist"}
になります。から サーバーが表示されます{"status":"1","message":"User profile Updated"}
この改造の問題または私のコーディングの問題ですか?
いいえ。同じ応答 '0メッセージ:ユーザーは終了しません。 ' –
@PawandeepKaur:Partの代わりにStringを使用します。サーバー側のコードを確認してください。 – zacharia
もし 'String'を使うと' @ Multipart'で画像を送ることができますか? –