Android中上传文件到服务器实在多,有时久了没写就忘记了,今天特地记录下。
a.代码中采用的Rxjava2+retrofit+Mvp (P层代码)
List<File> driverFiles = new ArrayList<>();
driverFiles.add(mFileFace);
driverFiles.add(mFileBack);
Disposable subscribe = Observable.just(driverFiles)
.map(new Function<List<File>, List<File>>() {
@Override
public List<File> apply(List<File> files) throws Exception {
return Luban.with(mViewImpl.getActivityContext()).ignoreBy(100).load(files).get();
}
})
.flatMap(new Function<List<File>, ObservableSource<?>>() {
@Override
public ObservableSource<?> apply(List<File> fileList) throws Exception {
return mModelImpl.driverUserLicense(fileList);
}
})
.takeUntil(withRxLifecycle())
.compose(RxUtil.applySchedulers())
.doOnSubscribe(withDoOnSubscribe(false, 0)