Retrofit @body with @multipart having Issue

后端 未结 8 1667
星月不相逢
星月不相逢 2020-12-25 08:54

Image Multipart in class type object.

case 1. (Which I had done)

Service params:

{\"id\":\"1\",\"name\":\"vishal\",\"image/file\":\"\"} 
         


        
8条回答
  •  青春惊慌失措
    2020-12-25 09:00

    We can add all request parameter in multipart body builder with specified type like in below one image file. I have set media type parse multipart/form-data and some other parameter I have set media type parse text/plain. This builder will build to make Multipart Body and can send by using body annotation in multipart body.

    @Multipart
    @POST("user/update")
    Call addDocument(@@Part MultipartBody file);
    
    
    final MultipartBody.Builder requestBodyBuilder = new MultipartBody.Builder()
          .setType(MultipartBody.FORM);
    
    requestBodyBuilder.addFormDataPart("doc_image_file", imageFile.getName(),
          RequestBody.create(MediaType.parse("multipart/form-data"), imageFile));
    requestBodyBuilder.addFormDataPart("user_id", null, RequestBody.create(MediaType.parse("text/plain"),"12"));
    requestBodyBuilder.addFormDataPart("doc_name", null, RequestBody.create(MediaType.parse("text/plain"),"myfile"));
    requestBodyBuilder.addFormDataPart("doc_category", null, RequestBody.create(MediaType.parse("text/plain"),category));
    requestBodyBuilder.addFormDataPart("doc_image_file", imageFile.getName(),RequestBody.create(MediaType.parse("multipart/form-data"),imageFile));
    requestBodyBuilder.addFormDataPart("doc_text_content", null, RequestBody.create(MediaType.parse("text/plain"),body));
    RequestBody multipartBody = requestBodyBuilder.build();
    

提交回复
热议问题