1
我有一個android應用程序,其中的圖像上傳到服務器。我正在使用翻新庫來上傳圖像。爲此,有一個標題部分,它是在調用時動態添加的access_token。Android Retrofit動態設置標題值
ApiInterface
@Headers({"source: android"})
@Multipart
@POST("doImageUpload.php")
Call<ResponseBody> imageUpload(@Header("access_token") String accesstoken,@Part("username") RequestBody username, @Part("action") RequestBody action,@Part("image_data") RequestBody image_data );
ImageUpload功能
public void imageupload(String imagepath)
{
final ProgressDialog mProgressDialog = new ProgressDialog(this);
mProgressDialog.setIndeterminate(true);
mProgressDialog.setMessage("Loading...");
mProgressDialog.show();
String action = "imageUpload";
String access = mPreferences.getString("accesstoken","");
ApiInterface apiService =
ApiClient.getClient().create(ApiInterface.class);
final String TAG = "Image Upload";
MediaType type = MediaType.parse("text/plain; charset=utf-8");
Call<ResponseBody> call = apiService.imageUpload(@Header(RequestBody.create(type,mPreferences.getString("accesstoken", "")))
RequestBody.create(type,mPreferences.getString("UserName", "")),RequestBody.create(type,imagepath),RequestBody.create(type,action));
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody>call, Response<ResponseBody> response) {
ResponseBody ResponseBody = response.body();
Log.d("requrl",response.raw().request().url().toString());
Log.d(TAG, "signup" + ResponseBody.toString());
if (mProgressDialog.isShowing())
mProgressDialog.dismiss();
try {
JSONObject obj = new JSONObject(response.body().string());
Log.d("chkva","--"+obj.getBoolean("status"));
}
} catch (Exception exception){
Log.d("Error123","sad"+exception.getMessage());
}
}
@Override
public void onFailure(Call<ResponseBody>call, Throwable t) {
// Log error here since request failed
Log.e(TAG, t.toString());
}
});
}
我是的access_token存儲在共享的偏好,我有這個添加的access_token的圖片上傳function.I不知道無論我是否使用正確的方法或不添加標題。在這種情況下,任何人都可以幫助我。
預先感謝您
你可以參考:https://futurestud.io/tutorials/retrofit-add-custom-request-header – Yat3s