我在项目中使用了retrofit。现在我需要使用retrofit将一张图片上传到服务器。所以我需要以下问题的帮助:
如何使用表单数据在retrofit中上传压缩后的位图到服务器?任何链接或示例都会有帮助。
我在项目中使用了retrofit。现在我需要使用retrofit将一张图片上传到服务器。所以我需要以下问题的帮助:
如何使用表单数据在retrofit中上传压缩后的位图到服务器?任何链接或示例都会有帮助。
上传过程可以按照以下步骤操作
第一步:创建下面代码的方法
UploadPhotoRetroService service = ServiceGenerator.createService(MyActivity.class, "base-url");
TypedFile typedFile = new TypedFile("image/jpeg", new File(imagePath));
service.upload(typedFile, new Callback<String>() {
@Override
public void success(String result, Response response) {
// success call back
}
@Override
public void failure(RetrofitError error) {
error.printStackTrace();
}
});
public interface UploadPhotoRetroService {
@Multipart
@POST("/whatever-your-api")
void upload(@Part("Photo") TypedFile file, Callback<String> callback);
}
public class ServiceGenerator {
private ServiceGenerator() {
}
public static <S> S createService(Class<S> serviceClass, String baseUrl) {
RestAdapter.Builder builder = new RestAdapter.Builder()
.setEndpoint(baseUrl)
.setClient(new OkClient(new OkHttpClient()));
RestAdapter adapter = builder.build();
return adapter.create(serviceClass);
}
}