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);
}
这样就可以了上传文件了 我这里也是看别人学来的 这里只是暂时记录一下.
网友评论