Retrofit2.0 Multipart 让文件可传可不传

文件上传

使用retrofit上传文件会遇到一个问题,后台写的接口是文件可传可不传,那我们@Multipart是必须上传一个文件,若不传,则报错java.lang.IllegalStateException: Multipart body must have at least one part.

解决方法:

第一种:


创建一个空Part

第二种:

MultipartBody.Part part = MultipartBody.Part.createFormData("",""); 

直接传入两个空字符串就可以了...不能传null;


Retrofit2.0 Multipart 让文件可传可不传_第1张图片
Retrofit 源码

源码传null 会抛出异常,所以我们传空字符串就可以...

这样判断文件是否为空就可以了.

是空则创建一个空Part,不为空则传入文件

你可能感兴趣的:(Retrofit2.0 Multipart 让文件可传可不传)