使用retrofit上传文件会遇到一个问题,后台写的接口是文件可传可不传,那我们@Multipart是必须上传一个文件,若不传,则报错java.lang.IllegalStateException: Multipart body must have at least one part.
解决方法:
第一种:
创建一个空Part第二种:
MultipartBody.Part part = MultipartBody.Part.createFormData("","");
直接传入两个空字符串就可以了...不能传null;
Retrofit 源码源码传null 会抛出异常,所以我们传空字符串就可以...
这样判断文件是否为空就可以了.
是空则创建一个空Part,不为空则传入文件
网友评论