Commit f761e5b038a90e95c739c7d3dd87ffe78184abfe

Authored by 韩亚云
1 parent 92ef3449

图片上传方法修改

core/imageload/src/main/java/com/cnlive/core/imageload/preview/presenter/ProcessHtmlPresenter.java
... ... @@ -11,6 +11,7 @@ import android.util.Log;
11 11 import com.bumptech.glide.Glide;
12 12 import com.cnlive.core.imageload.api.ApiServiceStock;
13 13 import com.cnlive.core.imageload.preview.DataProcessingActivity;
  14 +import com.cnlive.core.imageload.preview.model.FeedBackInfo;
14 15 import com.cnlive.core.imageload.preview.model.PreviewData;
15 16 import com.cnlive.core.imageload.preview.view.ProcessHtmlView;
16 17 import com.cnlive.core.libs.base.application.AppConfig;
... ... @@ -22,6 +23,7 @@ import com.cnlive.core.network.model.BaseResult;
22 23 import com.cnlive.core.network.HttpConn;
23 24 import com.cnlive.core.network.NetCallBack;
24 25 import com.cnlive.core.network.request.BaseRequest;
  26 +import com.cnlive.core.network.upload.UploadLogic;
25 27 import com.cnlive.strike.user.auth.UserService;
26 28  
27 29 import java.io.File;
... ... @@ -56,19 +58,29 @@ public class ProcessHtmlPresenter extends BasePresenter<ProcessHtmlView> {
56 58 if (TextUtils.isEmpty(imagePath) && mContext == null) return;
57 59 List<String> list = new ArrayList();
58 60 list.add(imagePath);
59   -//
60   -// eventQn = new Event<List<FeedBackInfo>>().setFailureCallback((state, message) -> {
61   -// if (getView() != null) getView().showMessage(message);
62   -// }).setSuccessCallback(data -> {
63   -// if (getView() != null && data.size() > 0) {
64   -// if (data.get(0).getImageUrl().contains("http")) {
65   -// collection(mContext, data.get(0).getImageUrl(), mContext.previewData);
66   -// } else {
67   -// if (getView() != null) getView().showMessage("数据异常");
68   -// }
69   -// }
70   -// });
71   -// UploadLogic.uploadonePic(mContext, true, list, eventQn);
  61 +
  62 + UploadLogic.uploadonePic(mContext, true, list, new NetCallBack<List<com.cnlive.core.network.upload.model.FeedBackInfo>>() {
  63 + @Override
  64 + public void onRequestState(int state) {
  65 +
  66 + }
  67 +
  68 + @Override
  69 + public void onSuccess(List<com.cnlive.core.network.upload.model.FeedBackInfo> data) {
  70 + if(data.size() > 0){
  71 + if (data.get(0).getImageUrl().contains("http")) {
  72 + collection(mContext, data.get(0).getImageUrl(), mContext.previewData);
  73 + } else {
  74 + ifViewAttached(view -> view.showMessage("数据异常"));
  75 + }
  76 + }
  77 + }
  78 +
  79 + @Override
  80 + public void onFailure(String errCode, String errMsg) {
  81 + ifViewAttached(view -> view.showMessage(errMsg));
  82 + }
  83 + });
72 84  
73 85 }
74 86  
... ...
core/network/src/main/java/com/cnlive/core/network/upload/UploadLogic.java
... ... @@ -12,10 +12,17 @@ import com.cnlive.core.network.HttpConn;
12 12 import com.cnlive.core.network.NetCallBack;
13 13 import com.cnlive.core.network.model.StorageInfoData;
14 14 import com.cnlive.core.network.model.UploadAuthData;
  15 +import com.cnlive.core.network.upload.interfaces.ProgressCallback;
  16 +import com.cnlive.core.network.upload.model.FeedBackInfo;
15 17  
16 18 import java.io.File;
  19 +import java.util.ArrayList;
  20 +import java.util.HashMap;
17 21 import java.util.List;
  22 +import java.util.Map;
  23 +import java.util.Observer;
18 24  
  25 +import io.reactivex.Observable;
19 26 import io.reactivex.ObservableSource;
20 27 import io.reactivex.functions.Function;
21 28  
... ... @@ -190,7 +197,7 @@ public class UploadLogic {
190 197 * 张楠上传地图信息用
191 198 */
192 199  
193   - public static void uploadAddressPicInfo(Context context, List<String> picPath, NetCallBack<String> callBack) {
  200 + public static void uploadAddressPicInfo(Context context, List<String> picPath, NetCallBack<List<String>> callBack) {
194 201 HttpConn.action(
195 202 UploadProvider.getStorageInfo()
196 203 .concatMap(new Function<BaseResult<List<StorageInfoData>>, ObservableSource<BaseResult<UploadAuthData>>>() {
... ... @@ -508,18 +515,109 @@ public class UploadLogic {
508 515 // Log.d(TAG, String.format(ERROR_DEF, tag, stateCode, code, message));
509 516 // }
510 517  
511   -// /**
512   -// * Im收藏的时候图片单张上传的方法
513   -// *
514   -// * @param context
515   -// * @param isZip
516   -// * @param picPath
517   -// * @param event
518   -// */
519   -// public static void uploadonePic(Context context, boolean isZip, List<String> picPath, Event<List<FeedBackInfo>> event) {
520   -//
  518 + /**
  519 + * Im收藏的时候图片单张上传的方法
  520 + *
  521 + * @param context
  522 + * @param isZip
  523 + * @param picPath
  524 + * @param callBack
  525 + */
  526 + public static void uploadonePic(Context context, boolean isZip, List<String> picPath, NetCallBack<List<FeedBackInfo>> callBack) {
  527 +
  528 + HttpConn.action(UploadProvider.getStorageInfo().flatMap(new Function<BaseResult<List<StorageInfoData>>, ObservableSource<BaseResult<UploadAuthData>>>() {
  529 +
  530 + @Override
  531 + public ObservableSource<BaseResult<UploadAuthData>> apply(BaseResult<List<StorageInfoData>> data) throws Exception {
  532 + if (data.isSuccess()) {
  533 + if (data.getData().size() > 0 || data.getData() != null) {
  534 + return UploadProvider.uploadAuth(data.getData().get(0).getStorageName());
  535 + } else {
  536 + return HttpConn.error("-1", "storage info null");
  537 + }
  538 + }
  539 + return HttpConn.error(data);
  540 + }
  541 + }).flatMap(new Function<BaseResult<UploadAuthData>, ObservableSource<Map<String, Object>>>() {
  542 +
  543 + @Override
  544 + public ObservableSource<Map<String, Object>> apply(BaseResult<UploadAuthData> uploadAuthDataBaseResult) throws Exception {
  545 + String token = uploadAuthDataBaseResult.getData().getToken();
  546 + if (isZip) {
  547 + UploadProvider.zipFiles(context, picPath, new UploadProvider.ZipFilesCallBack() {
  548 + @Override
  549 + public void onSuccess(List<String> files) {
  550 + UploadProvider.doUploadPic(context, files, token, new NetCallBack<List<String>>() {
  551 + @Override
  552 + public void onRequestState(int state) {
  553 + if (null != callBack) {
  554 + callBack.onRequestState(state);
  555 + }
  556 + }
  557 +
  558 + @Override
  559 + public void onSuccess(List<String> data) {
  560 + List<FeedBackInfo> list = new ArrayList<>();
  561 + for (int i = 0; i < ((ArrayList) data).size(); i++) {
  562 + FeedBackInfo info = new FeedBackInfo();
  563 + info.setImageUrl(SEVEN + ((ArrayList) data).get(i));
  564 + list.add(info);
  565 + }
  566 + if (null != callBack) {
  567 + callBack.onSuccess(list);
  568 + }
  569 + }
  570 +
  571 + @Override
  572 + public void onFailure(String errCode, String errMsg) {
  573 + if (null != callBack) {
  574 + callBack.onFailure(errCode, errMsg);
  575 + }
  576 + }
  577 + }, null);
  578 + }
  579 +
  580 + @Override
  581 + public void onFail(String errCode, String errMsg) {
  582 + HttpConn.error(errCode, errMsg);
  583 + }
  584 + });
  585 + } else {
  586 + UploadProvider.doUploadPic(context, picPath, token, new NetCallBack<List<String>>() {
  587 + @Override
  588 + public void onRequestState(int state) {
  589 + if (null != callBack) {
  590 + callBack.onRequestState(state);
  591 + }
  592 + }
  593 +
  594 + @Override
  595 + public void onSuccess(List<String> data) {
  596 + List<FeedBackInfo> list = new ArrayList<>();
  597 + for (int i = 0; i < ((ArrayList) data).size(); i++) {
  598 + FeedBackInfo info = new FeedBackInfo();
  599 + info.setImageUrl(SEVEN + ((ArrayList) data).get(i));
  600 + list.add(info);
  601 + }
  602 + if (null != callBack) {
  603 + callBack.onSuccess(list);
  604 + }
  605 + }
  606 +
  607 + @Override
  608 + public void onFailure(String errCode, String errMsg) {
  609 + if (null != callBack) {
  610 + callBack.onFailure(errCode, errMsg);
  611 + }
  612 + }
  613 + }, null);
  614 + }
  615 + return null;
  616 + }
  617 + }), null);
  618 +// UploadProvider.getStorageInfo()
521 619 // Logic.create()
522   -// .action((Object data, DataCallback<BaseInfo<List<StorageInfoData>>> callback) ->
  620 +// .action((Object data, DataCallback<BaseResult<List<StorageInfoData>>> callback) ->
523 621 // UploadProvider.getStorageInfo(context, callback))
524 622 // .action((BaseInfo<List<StorageInfoData>> data, DataCallback<BaseInfo<UploadAuthData>> callback) ->
525 623 // UploadProvider.uploadAuth(context, data.getData().get(0).getStorageName(), callback)
... ... @@ -556,8 +654,8 @@ public class UploadLogic {
556 654 // return list;
557 655 // }, callback))
558 656 // .start(event);
559   -//
560   -// }
  657 +
  658 + }
561 659  
562 660  
563 661 }
... ...
core/network/src/main/java/com/cnlive/core/network/upload/UploadProvider.java
... ... @@ -14,6 +14,7 @@ import com.cnlive.core.network.model.BaseResult;
14 14 import com.cnlive.core.network.HttpConn;
15 15 import com.cnlive.core.network.NetCallBack;
16 16 import com.cnlive.core.network.api.ApiBaseServiceOpen;
  17 +import com.cnlive.core.network.model.StorageInfoData;
17 18 import com.cnlive.core.network.request.BaseRequest;
18 19 import com.cnlive.core.network.model.UploadAuthData;
19 20 import com.cnlive.core.network.upload.interfaces.ProgressCallback;
... ... @@ -104,7 +105,7 @@ public class UploadProvider {
104 105 *
105 106 * @return
106 107 */
107   - public static Observable<BaseResult<List<com.cnlive.core.network.model.StorageInfoData>>> getStorageInfo() {
  108 + public static Observable<BaseResult<List<StorageInfoData>>> getStorageInfo() {
108 109 Map<String, String> map = new HashMap<>();
109 110 map.put("appId", AppConfig.getAppId());
110 111 map.put("storageType", "2");
... ... @@ -477,7 +478,7 @@ public class UploadProvider {
477 478 // }
478 479  
479 480  
480   - public static void doUploadPic(Context context, List<String> file, String uploadToken, NetCallBack<String> callBack, ProgressCallback progressCallback) {
  481 + public static void doUploadPic(Context context, List<String> file, String uploadToken, NetCallBack<List<String>> callBack, ProgressCallback progressCallback) {
481 482 ArrayList<String> netpiclist = new ArrayList<>();
482 483 UploadManager uploadManager = new UploadManager();
483 484 //正式环境:769/img/2018/01/29/"时间戳".jpg
... ... @@ -494,14 +495,13 @@ public class UploadProvider {
494 495 ((Activity) context).runOnUiThread(() -> {
495 496 if (info.isOK()) {
496 497 try {
497   - netpiclist.add((String) info.response.get("key"));
  498 + netpiclist.add(UploadLogic.SEVEN + (String) info.response.get("key"));
498 499 } catch (JSONException e) {
499 500 e.printStackTrace();
500 501 HttpConn.error(info.statusCode + "", info.error);
501 502 }
502 503 if (netpiclist.size() == file.size()) {
503   - String addressImageUrl = UploadLogic.SEVEN + netpiclist.get(0);
504   - callBack.onSuccess(addressImageUrl);
  504 + callBack.onSuccess(netpiclist);
505 505 }
506 506 } else {
507 507 HttpConn.error(info.statusCode + "", info.error);
... ...
core/network/src/main/java/com/cnlive/core/network/upload/model/FeedBackInfo.java 0 → 100644
  1 +package com.cnlive.core.network.upload.model;
  2 +
  3 +/**
  4 + * Created by Lynn on 2018/9/4.
  5 + */
  6 +
  7 +public class FeedBackInfo {
  8 + private String imageUrl;
  9 + private long imageWidth;
  10 + private long imageHeight;
  11 +
  12 + public String getImageUrl() {
  13 + return imageUrl;
  14 + }
  15 +
  16 + public void setImageUrl(String imageUrl) {
  17 + this.imageUrl = imageUrl;
  18 + }
  19 +
  20 + public long getImageWidth() {
  21 + return imageWidth;
  22 + }
  23 +
  24 + public void setImageWidth(long imageWidth) {
  25 + this.imageWidth = imageWidth;
  26 + }
  27 +
  28 + public long getImageHeight() {
  29 + return imageHeight;
  30 + }
  31 +
  32 + public void setImageHeight(long imageHeight) {
  33 + this.imageHeight = imageHeight;
  34 + }
  35 +
  36 + @Override
  37 + public String toString() {
  38 + return "FeedBackInfo{" +
  39 + "imageUrl='" + imageUrl + '\'' +
  40 + ", imageWidth=" + imageWidth +
  41 + ", imageHeight=" + imageHeight +
  42 + '}';
  43 + }
  44 +}
... ...