优秀案例

android端retrofit 2.0 上传文件及服务器端接收

2019-01-03  本文已影响0人  大胡子的机器人

找了很多资料,很多不全面,要么只有客户端的上传文件资料,要么只有服务器端接收图片的资料。这里就把我整理一致的发出来。
针对:android + springboot开发

android端代码:

public void uploadImage(String localPath,int userId){
    File file = new File(localPath);
    RequestBody requestFile = RequestBody.create(MediaType.parse("image/jpeg"), file);
    MultipartBody.Part body =
            MultipartBody.Part.createFormData("imageFile",file.getName(),requestFile);
    Api.getGankService().uploadImage2IM(body,userId)
            .compose(XApi.<ResultModel<String>>getApiTransformer())
            .compose(XApi.<ResultModel<String>>getScheduler())
            .subscribe(new ApiSubscriber<ResultModel>(){
                @Override
                protected void onFail(NetError error) {

                }

                @Override
                public void onNext(ResultModel resultModel) {
                    //上传结果
                }
            });
}

-----------------------retrofit接口代码---------------------------

@Multipart
@POST("common/images/upload-to-im")
Flowable<ResultModel<String>> uploadImage2IM(@Part MultipartBody.Part imageFile, @Query("userId") int userId);

服务器controller层代码:

@PostMapping("/upload-to-im")
public JsonResult<String> upload2IM(@RequestParam("imageFile") MultipartFile multipartFile,@RequestParam("userId") int userId)  {
    return photoAlbumService.upload2DefaultAlbum(multipartFile,userId);
}

对应postman测试截图:

image.png
上一篇 下一篇

猜你喜欢

热点阅读