java端的代码时只有一个autotoken放在header的。作为andorid端要去上传图片。。
java代码:@RequestParam("file") MultipartFile file。
直接上android的代码:当获取到了文件的情况下。再去上传
@POST("/information/information/uploadImgandroid")
Observable uploadPictures(@Header ("Authorization") String header,@Body RequestBody Body);
接口如上:然后是调用方法:
File file =new File(path);
if (!file.exists()||file.length()==0){
Log.e(TAG,"laiyiwen::"+"文件不存在");
}else{
Log.e(TAG,"laiyiwen::"+"文件存在");
}
MultipartBody multipartBody =new MultipartBody.Builder()
.setType(MultipartBody.FORM)
.addFormDataPart("file", file.getName(), RequestBody.create(MediaType.parse("image/*"), file))
.build();
RetrofitHelper.getService()
.uploadPictures(ACacheUtils.getInstance().getToken(),multipartBody)
.compose(bindToLifecycle())
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(data -> {
try {
hideProgressBar();
// postWithPictures(data);
}catch (Exception e) {
e.printStackTrace();
}
}, throwable -> {
hideProgressBar();
ToastUtils.showShort("上传图片失败,请重试");
});
网友评论