我正在使用外部API上传个人资料照片。 http://open.convio.com/api/#teamraiser_api.uploadPersonalPhoto_method.html使用Retrofit上传图片1.9不工作
这里是我的代码:
@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);
这是我使用它如何
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));
}
});
}
只有标题被更新。该日志显示API所要求的Content-Type:multipart/form-data。
我提出了建议的更改,但仍然无法正常工作。 – Marcelojaf