Android Retrofit 2.0框架上传图片解决方案

2019-12-10 18:53:20王振洲
易采站长站为您分析Android Retrofit 2.0框架上传一张与多张图片解决方案,感兴趣的小伙伴们可以参考一下  

本文为大家分享了 Android Retrofit 2.0框架上传图片解决方案,具体内容如下

1.单张图片的上传

/** 
   * 上传一张图片 
   * @param description 
   * @param imgs 
   * @return 
   */ 
  @Multipart 
  @POST("/upload") 
  Call<String> uploadImage(@Part("fileName") String description, 
         @Part("file"; filename="image.png"")RequestBody imgs); 

2.多张图片的上传

/** 
  * 上传三张图片 
  * @param description 
  * @param imgs 
  * @param imgs1 
  * @param imgs3 
  * @return 
  */ 
  @Multipart 
  @POST("/upload") 
  Call<String> uploadImage(@Part("fileName") String description, 
        @Part("file"; filename="image.png"")RequestBody imgs, 
        @Part("file"; filename="image.png"")RequestBody imgs1, 
        @Part("file"; filename="image.png"")RequestBody imgs3); 

注意:目前是提供传3张,要想多上传目前我发现的方法就是想要多传一张,就多增加一个参数
@Part("file"; filename="image.png"")RequestBody imgs,以此类推。

大家看到上面觉得写法很漏,但是用于能力有限,只能想到这样。用Java中的可变参数解决之后,就只能传一张。不能多张。

@Multipart 
  @POST("/upload") 
  Call<String> uploadImage(@Part("fileName") String description, 
        @Part("file"; filename="image.png"")RequestBody ...imgs);