retrofit上传文件 简记

2017-07-30  本文已影响78人  bogerLiu

retrofit上传文件 简记

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

那么就开始

客户端的retrofit 写法如下

@Multipart 
@POST("url")
Observable<UpFileModel> 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<UpFileModel> 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<UpFileModel> observable = retrofit.create(AlbumIpl.class).uploadAlbum(tokenBody,body);
        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(callback);
    }

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

上一篇 下一篇

猜你喜欢

热点阅读