1、
/** * 上传多文件 userid参数 ** @param videoPath * @param postUrl * @param okHttpUtilsCallBack 回调 */ public void postFiles(String videoPath, String userid, String postUrl, final InterfaceXutilsResult okHttpUtilsCallBack) { System.out.println("访问地址==" + postUrl); RequestParams params = new RequestParams(postUrl); params.setMultipart(true); params.addBodyParameter("file", new File(videoPath)); params.addBodyParameter("file", new File(videoPath)); if (!Valids.isEmpty(userid)) params.addBodyParameter("content", userid);//用户id x.http().post(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { System.out.println("result==" + result.toString()); okHttpUtilsCallBack.onDataSuccessfully(result.toString()); } @Override public void onError(Throwable ex, boolean isOnCallback) { System.out.println("onError==" + ex.getMessage()); okHttpUtilsCallBack.onDataFailed(); } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); }
2、
/** * 上传多文件 传json格式 */ public void postZhiBiao(List<String> listPath, String postUrl, InterfaceXutilsResult okHttpUtilsCallBack) { JSONObject postpara = new JSONObject(); try { postpara.put("content", "AAAAAAA"); } catch (JSONException e) { e.printStackTrace(); } RequestParams params = new RequestParams(postUrl); params.setAsJsonContent(true); List<KeyValue> list = new ArrayList<>(); for (int i = 0; i < listPath.size(); i++) { list.add(new KeyValue("file", new File(listPath.get(i)))); } System.out.println("json==" + postpara.toString()); list.add(new KeyValue("parameters", postpara.toString())); MultipartBody body = new MultipartBody(list, "UTF-8"); params.setRequestBody(body); getHttpUtils(okHttpUtilsCallBack, postUrl, params); }
/** * 网络请求 * * @param okHttpUtilsCallBack * @param postUrl * @param params */ public void getHttpUtils(final InterfaceXutilsResult okHttpUtilsCallBack, final String postUrl, RequestParams params) { System.out.println("访问地址==" + postUrl); x.http().post(params, new Callback.CacheCallback<String>() {//发起传参为json的post请求, // 根据实际需求更改 @Override public boolean onCache(String result) {//得到缓存数据, 缓存过期后不会进入 System.out.println("onCache"); return false;//true: 信任缓存数据, 不再发起网络请求; false不信任缓存数据 } @Override public void onSuccess(String result) { //此处请求成功后的逻辑 System.out.println(postUrl + "返回结果==" + result.toString()); okHttpUtilsCallBack.onDataSuccessfully(result); } @Override public void onError(Throwable ex, boolean isOnCallback) { okHttpUtilsCallBack.onDataFailed(); System.out.println("onError==" + ex.getMessage()); } @Override public void onCancelled(CancelledException cex) { System.out.println("onCancelled"); } @Override public void onFinished() { System.out.println("onFinished"); } }); }