当前位置: 首页 > news >正文

网站改版做301重定向请私人做网站风险

网站改版做301重定向,请私人做网站风险,wordpress 4.9 站群,扫wordpress后台场景&#xff1a;后端上传文件接口只支持单个文件上传&#xff0c;而业务需求一次性上传多个图片&#xff0c;因此需要多个上传任务并发进行&#xff0c;拿到所有的返回结果后&#xff0c;才能进行下一个流程。 1、使用Java并发工具 private List<Response<JSONObject>…

场景:后端上传文件接口只支持单个文件上传,而业务需求一次性上传多个图片,因此需要多个上传任务并发进行,拿到所有的返回结果后,才能进行下一个流程。

在这里插入图片描述

1、使用Java并发工具

private List<Response<JSONObject>> responses = new ArrayList<>();private int requestCount = 0;private void submitTest() {for (LocalMedia localMedia : mSelectList) {uploadImage(new File(localMedia.getPath()));}}private void uploadImage(File file) {JSONObject data = new JSONObject();data.put("file",file);RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), imageBody);HttpApi api= RetrofitManager.initRetrofit(RetrofitManager.url_fms).create(HttpApi.class);Call<JSONObject> resultcall = api.up_file("e2e5198e198c78cb59cebfadc592aa45", part);resultcall.enqueue(new Callback<JSONObject>() {//请求成功时回调@Overridepublic void onResponse(Call<JSONObject> call, Response<JSONObject> response) {if(response.isSuccessful()){JSONObject json = response.body();if(json.getBoolean("flag")){responses.add(response);handleResponse();}else{XToastUtils.error(json.getString("message"));}}else {XToastUtils.error(response.message()+"");}}//请求失败时候的回调@Overridepublic void onFailure(Call<JSONObject> call, Throwable throwable) {XToastUtils.error(throwable.getMessage()+"");}});}private synchronized void handleResponse() {requestCount++;if (requestCount == mSelectList.size()) {// 所有请求都已完成,可以在这里处理合并的结果handleCombinedResponse(responses);}}/*** 处理合并的结果*/private void handleCombinedResponse(List<Response<JSONObject>> responses) {List<String> result = new ArrayList<>();for (Response<JSONObject> response : responses){if(response.isSuccessful()){JSONObject json = response.body();if(json.getBoolean("flag")){XToastUtils.success(json.getString("message"));result.add(json.getString("data"));}else{XToastUtils.error(json.getString("message"));}}else {XToastUtils.error(response.message()+"");}}System.out.println(result);}

以上使用了synchronized关键字来确保在多线程环境中handleResponse()方法能够正确地计数并处理响应。

运行结果:
在这里插入图片描述

2.使用CompletableFuture来实现

public String performParallelRequests() {List<CompletableFuture<String>> futures = new ArrayList<>();for (LocalMedia localMedia : mSelectList) {File file = new File(localMedia.getPath());CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {try {// 执行第一个请求JSONObject data = new JSONObject();data.put("file",file);RequestBody imageBody = RequestBody.create(MediaType.parse("multipart/form-data"), file);MultipartBody.Part part = MultipartBody.Part.createFormData("file", file.getName(), imageBody);HttpApi api= RetrofitManager.initRetrofit(RetrofitManager.url_fms).create(HttpApi.class);Call<JSONObject> resultcall = api.up_file("e2e5198e198c78cb59cebfadc592aa45", part);Response<JSONObject> execute = resultcall.execute();if(execute.isSuccessful()){return execute.body().getString("data");}} catch (IOException e) {e.printStackTrace();}return null;});futures.add(future);}List<String> results = new ArrayList<>();CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));try {allOf.get();for (CompletableFuture<String> future : futures) {String result = future.get();results.add(result);System.out.println(result);}System.out.println("results---------"+results);} catch (ExecutionException e) {throw new RuntimeException(e);} catch (InterruptedException e) {throw new RuntimeException(e);}return null;}

运行结果:
在这里插入图片描述

http://www.yayakq.cn/news/486277/

相关文章:

  • one dirve做网站黑马程序员和比特就业课
  • 网上做网站怎么防止被骗wordpress怎么用ip访问
  • 一个微信网站多少钱沈阳市建设工程管理中心
  • 网站建设欣赏建站超市代理
  • 宜兴营销型网站建设定西网站建设
  • 网站设置了自动登录怎么显示密码建设银行北京市财满街分行网站
  • 沛县可以做网站的单位虚拟币网站建设
  • 张槎网站开发织梦网站自动跳转手机网站
  • 贵阳网站优化呼和浩特注册公司流程和费用
  • 做境外旅游的网站广州seo搜索
  • 网站建设win2012南宁做网站开发的公司有哪些
  • wordpress网站生成app信阳网站建设汉狮怎么样
  • 北京环评在那个网站上做专题网站开发工具有哪些
  • 专业做室内设计的网站用以前用过的域名做网站
  • 特色企业网站做土特产的网站
  • 企业网站建设要注意什么珠海正规网站制作哪家好
  • wordpress 网站同步深圳seo公司
  • 怎么才能制作网站呢wordpress侧边栏写进小工具里
  • wordpress 全站ssl上海百度公司
  • 旅游网站的导航栏目设计淄博网站制作定制技术
  • 平面设计案例网站开发板有哪些
  • 免费做网站的平台六安网
  • 网站建设图片改不了南京外贸推广
  • 网站建设课程 谷建有没有做ppt很厉害的网站
  • 网站开发平台及常用开发工具北京工程网站建设
  • 域名绑定网站设计书籍频道已开放
  • 网站首页加载特效手机建网站步骤软件
  • 推广网站代码自己做网站 最好的软件
  • 做单页网站怎么选产品商务网站开发的基本原则
  • e福州app官方网站做别墅装修的公司