/**
* 上传视频
*/
private void uploadVideo() {
String title = mTitle.getText().toString().trim();
if (TextUtils.isEmpty(title)) {
ToastUtil.showMessage(R.string.title_cannot_empty);
return;
}
HashMap<String, String> map = new HashMap<>();
File file = new File(url);
// RequestBody requestBody = RequestBody.create(MediaType.parse("video/*"), file);
RequestBody requestBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestBody);
String uid = UserManager.getInstance().getUid();
map.put("type", "user");
map.put("dataType", "1");
map.put("videoType", "video");
map.put("dataName", title);
map.put("userId", uid);
RxManager.getMethod().uploadVideo(body, map)
.compose(RxUtil.schedulers(this))
.subscribe(new RxCallback<UploadVideoBean>(this) {
@Override
public void onStart() {
setShowProgress(false);
super.onStart();
}
@Override
public void onSubscribe(Disposable d) {
if (mKProgressHUD == null) {
mKProgressHUD = KProgressHUD.create(PreviewActivity.this)
.setStyle(KProgressHUD.Style.SPIN_INDETERMINATE)
.setAnimationSpeed(2)
.setDimAmount(0.5f)
//TODO: 可改为百分比显示上传进度
.setLabel("视频上传中,请稍等...")
.setCancellable(false);
}
mKProgressHUD.show();
}
@Override
public void onSuccess(UploadVideoBean uploadVideoBean, String msg) {
ToastUtil.showMessage(R.string.upload_success_please_wait_audit);
MainActivity.open(PreviewActivity.this);
finish();
}
@Override
public void onFinish(boolean hasError) {
if (mKProgressHUD != null) {
mKProgressHUD.dismiss();
}
}
});
}
重写RequestBody;
public class UploadFileRequestBody extends RequestBody {
}