实际开发中的功能,本地选择图片或者拍照,然后裁剪作为头像,这里做一下总结。
直接看demo效果图:
源码地址:https://download.youkuaiyun.com/download/gengbaolong/10959592
附:上传头像代码逻辑--------------------------------
接口文档如下:
上传头像(因为是公用接口,所以加了类型区分)
//上传图片--带参数
@Multipart
@POST("rest/app/uploadFiles/saveFiles")
Observable<BaseRspBean<ImageUploadBean>> uploadAvatarImage(@HeaderMap Map<String, String> headers, @Part() List<MultipartBody.Part> parts);
具体调用:
/**
* 上传头像
*/
public void uploadAvatarImage(RetrofitSubscriber<BaseRspBean<ImageUploadBean>> subscriber, File file){
List<MultipartBody.Part> parts = new ArrayList<>();
RequestBody imageType = RequestBody.create(MediaType.parse("text/plain"), "user");
MultipartBody.Part body1 = MultipartBody.Part.createFormData("type",null, imageType);
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"),file);
MultipartBody.Part body2 = MultipartBody.Part.createFormData("files",file.getName(),requestBody);
parts.add(body1);
parts.add(body2);
RetrofitUtil.toSubscribe(getServiceOutHead(UrlConfig.BASEURL).uploadAvatarImage(HeaderHelper.getFileUpdateHeader(),parts),mContext, subscriber);
}