Android改造内容类型image / jpg

时间:2016-03-05 10:27:59

标签: android retrofit

我遇到了这样的问题,我必须使用Content-Type image/jpeg上传图片,但我在日志formdata/multipart中说。有配置吗?

@Multipart
@POST("/Users/uploadAvatar")
void upload(@Query("id") String id,
            @Part("file") TypedFile file,
            Callback<User> cb);

 TrackerService service = ServiceGenerator.createService(TrackerService.class);
            TypedFile typedFile = new TypedFile("image/jpeg", file);

            service.upload("56d831c7dde67d9e255526d0",typedFile,  new Callback<User>() {

                @Override
                public void success(User user, Response response) {
                    Toast.makeText(MainActivity.this, "Success Uploaded", Toast.LENGTH_LONG).show();

                }

                @Override
                public void failure(RetrofitError error) {
                    Toast.makeText(MainActivity.this, "Fail", Toast.LENGTH_LONG).show();
                }
            });

1 个答案:

答案 0 :(得分:1)

假设您正在使用Retrofit库1.9 我建议你使用RestAdapter而不是TrackerService。参见下面的例子

    RestAdapter restAdapter = new RestAdapter.Builder().setLogLevel(RestAdapter.LogLevel.FULL).setEndpoint(API).build();

    TypedFile typedFile = new TypedFile("*/*", new File(resultPath));
    upload_file hit_Api = restAdapter.create(upload_file.class);

    hit_Api.uploadFile(typedFile,new callback<String>() {
                @Override
                public void success(String s, Response response) {


                }

                @Override
                public void failure(RetrofitError error) {

                }
            });

upload_file是我的界面类根据你的情况编辑它。