retrofit上传文件 简记

retrofit上传文件 简记

首先要服务器支持 服务器支持接受 @Multipart这个字段接受数据

那么就开始

客户端的retrofit 写法如下

@Multipart 
@POST("url")
Observable upFile(@Part("token") RequestBody token,albumUuid,@PartMultipartBody.Part file);

public static final String MULTIPART_FORM_DATA = "multipart/form-data";

 public static void upAlbum(String token, File file, ApiCallback callback) {
        Retrofit retrofit = RetrofitClient.getAlbumRetrofit();

        RequestBody requestFile = RequestBody.create(MediaType.parse(MULTIPART_FORM_DATA), file);
        MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);

        RequestBody tokenBody = RequestBody.create(MediaType.parse(MULTIPART_FORM_DATA), token);
      
        Observable observable = retrofit.create(AlbumIpl.class).uploadAlbum(tokenBody,body);
        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(callback);
    }

这样就可以了上传文件了 我这里也是看别人学来的 这里只是暂时记录一下.

你可能感兴趣的:(retrofit上传文件 简记)