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) {
}
});
當我DONOT得到正確的結果我用這個:
@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 +"");
}
});
靜止影像無法得到正確的結果。 Log中的Api響應在通過改進使用時給出{"status":"0","message":"User doesnot exist"}
。並從 服務器它顯示{"status":"1","message":"User profile Updated"}
是這個改造問題或我的代碼問題?
No Sir ..同樣的迴應'0消息:用戶不退出' –
@PawandeepKaur:使用字符串而不是零件。請檢查服務器端代碼。 – zacharia
如果我使用'String',那麼我怎樣才能用'@ Multipart'發送圖像? –