概述
本文主要内容
- 前提
- 头像上传
- 头像显示
- 关键代码
- 踩坑指南
前提
1.用户登录后将用户数据存到本地Sqlite数据库,即User表.
2.Sdcard中test目录下的avatar.jpg文件,该文件用于下面的头像上传和显示。
头像上传
1.需要将本地图片文件转换成Base64编码
2.将剪裁后的图片替换test文件夹下的avatar.jpg,上传服务器成功后,服务器会返回头像文件在服务器上的路径,将此路径存到本地User表中,并加载本地头像文件;若上传服务器失败则删除该文件,防止下次加载头像会加载上传失败的图片。
头像显示
先判断test文件夹下的avatar.jpg文件是否存在,如果存在则调用相关方法直接加载显示在ImageView上即可;如果不存在,则先从服务器上下载到Scard中的test下,取名avatar.jpg,然后调用相关方法显示即可。这样做可防止本地头像文件被意外删除后显示不出来的问题。
关键代码
1.请求服务器的方法(使用的是Retrofit+RxJava),因为默认的POST请求有长度限制,所以要使用@FormUrlEncoded属性
@FormUrlEncoded
@POST(