J'utilise une API externe pour télécharger une photo de profil. http://open.convio.com/api/#teamraiser_api.uploadPersonalPhoto_method.htmlTéléchargement de l'image avec Retrofit 1.9 ne fonctionne pas
Voici mon code:
@Multipart
@POST("/CRTeamraiserAPI?method=uploadPersonalPhoto")
public void uploadPersonalPhotoAsync(
@Query("fr_id") int frId,
@Part("graphic_upload_file") TypedFile graphic_upload_file,
@Query("graphic_upload_upload") boolean graphic_upload_upload,
@Query("graphic_caption") String graphic_caption,
@Header("sso_auth_token") String token,
Callback<UploadPersonalPhotoResponse> callback);
Et voilà comment je l'utilise
public void uploadPersonalPhotoAsync(final String cacheKey, int frID, String token, String graphic_upload_file, boolean graphic_upload_upload) {
File imgFile = new File(graphic_upload_file);
TypedFile tFile = new TypedFile("image/*", imgFile);
mTeamRaiserApi.uploadPersonalPhotoAsync(frID, tFile, true, "caption", token, new Callback<UploadPersonalPhotoResponse>() {
@Override
public void success(UploadPersonalPhotoResponse uploadPersonalPhotoResponse, Response response) {
uploadPersonalPhotoResponse.lastUpdatedTime = System.currentTimeMillis();
uploadPersonalPhotoResponse.loadedFromCache = false;
uploadPersonalPhotoResponse.cacheKey = cacheKey;
EventBus.getDefault().post(new UploadPersonalPhotoEvent(uploadPersonalPhotoResponse));
}
@Override
public void failure(RetrofitError error) {
EventBus.getDefault().post(new UploadPersonalPhotoEvent(null));
}
});
}
Seule la légende est mis à jour. Le journal affiche Content-Type: multipart/form-data comme requis par l'API.
J'ai fait les changements suggérés mais ne fonctionne toujours pas. – Marcelojaf