我正在使用Retrofit2进行Multipart请求,我在其中上传图像和一些文本数据。文件部分在这里是可选的,这意味着用户可能会也可能不会选择图像。有没有办法在Retrofit中使任何参数可选?
我试过这样的话,如果代码正常工作,则必须提交文件,
RequestBody requestBody = RequestBody.create(MediaType.parse("*/*"), file);
fileToUpload = MultipartBody.Part.createFormData("image", file.getName(), requestBody);
@Multipart
@POST("url")
Call<Response> create(
@Part("name") RequestBody name,
@Part("mail") RequestBody mail,
@Part MultipartBody.Part image
);
答案 0 :(得分:0)
@Rgv只需为Multipart.part图像值传递空值。完成 。我以这种方式使用。希望对您有所帮助。在下面的代码中,我为文件图像传递了空值。并在有个人资料图片文件时传递图片文件。
request = RetrofitClient.getInstance().getMyApi().updateProfileAPI(
UtilsClass.convertStringToRequestbody(name),
UtilsClass.convertStringToRequestbody(email),null);