private void uplaodFile2(final File file) { String token = PreferenceUtils.getString(mainActivity,"token" , null); MultipartBody.Part tokenPart = MultipartBody.Part.createFormData("token", token); RequestBody body = RequestBody.create(MediaType.parse("multipart/form-data"), file); MultipartBody.Part categoryId = MultipartBody.Part.createFormData("categoryId", categoryId1+""); MultipartBody.Part uploadUser = MultipartBody.Part.createFormData("uploadUser", PreferenceUtils.getString(mainActivity,"yhxm")); MultipartBody.Part departmentId = MultipartBody.Part.createFormData("departmentId", ""); MultipartBody.Part jgdm = MultipartBody.Part.createFormData("jgdm", PreferenceUtils.getString(mainActivity,"jgdm")); MultipartBody.Part yhxxid = MultipartBody.Part.createFormData("yhxxid", PreferenceUtils.getLong(mainActivity , "yhxxid" , 0)+""); MultipartBody.Part part = MultipartBody.Part.createFormData("fileName", file.getName(), new ProgressRequestBody(body, new UploadProgressListener() { @Override public void onProgress(long currentBytesCount, long totalBytesCount) { progressBar.setVisibility(View.VISIBLE); progressBar.setMax((int) totalBytesCount); progressBar.setProgress((int) currentBytesCount); } })); UploadFileService uploadFileService = OkHttpUtils.getRetrofit().create(UploadFileService.class); uploadFileService.uploadFileAndParams(part,categoryId , uploadUser , departmentId , jgdm,tokenPart,yhxxid).subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Subscriber<ResponseResult<String>>() { @Override public void onCompleted() { progressBar.setVisibility(View.GONE); } @Override public void onError(Throwable e) { progressBar.setVisibility(View.GONE); DialogUtils.showDialog2(mainActivity, "温馨提示", null, "上传失败!是否重新提交?",new DialogOnClickListenner() { @Override public void btnConfirmClick(Dialog dialog) { dialog.dismiss(); uplaodFile2(file); } @Override public void btnCancelClick(Dialog dialog) { dialog.dismiss(); } }); } @Override public void onNext(ResponseResult<String> stringResponseResult) { switch (stringResponseResult.getResult()){ case 1: ToastUtils.showToast(mainActivity , "上传成功"); break; case 2: ToastUtils.showToast(mainActivity , "参数列表不能为空"); break; case 0: ToastUtils.showToast(mainActivity , "上传失败"); break; case -1: ToastUtils.showToast(mainActivity , "服务器异常"); break; case -2: startActivityForResult(new Intent(mainActivity , UserLoginAtivity.class),106); break; } } }); }
okhttp上传文件时携带参数
最新推荐文章于 2024-07-26 11:10:37 发布