Browse Source

图片上传修改

huyuguo 5 years ago
parent
commit
d701e74a1d

+ 5 - 1
app/src/main/java/com/electric/chargingpile/activity/ChatContentListActivity.java

687
                        .transform(new CircleTransform())
687
                        .transform(new CircleTransform())
688
                        .into(headImage);
688
                        .into(headImage);
689
            }
689
            }
690
            if (TextUtils.isEmpty(bean.carSeriesName)) {
691
                nickName.setText(bean.nickName);
692
            } else {
693
                nickName.setText(bean.nickName + " " + bean.carSeriesName);
694
            }
690
695
691
            nickName.setText(bean.nickName + " " + bean.carSeriesName);
692
            addDate.setText(bean.addDate);
696
            addDate.setText(bean.addDate);
693
697
694
698

+ 36 - 11
app/src/main/java/com/electric/chargingpile/activity/PublishPicTopicActivity.java

49
import com.electric.chargingpile.application.MainApplication;
49
import com.electric.chargingpile.application.MainApplication;
50
import com.electric.chargingpile.data.AuthSignBean;
50
import com.electric.chargingpile.data.AuthSignBean;
51
import com.electric.chargingpile.data.ChatRecommendBean;
51
import com.electric.chargingpile.data.ChatRecommendBean;
52
import com.electric.chargingpile.data.PhotoUploadResult;
52
import com.electric.chargingpile.data.PublishItemSerializable;
53
import com.electric.chargingpile.data.PublishItemSerializable;
53
import com.electric.chargingpile.data.UploadPic;
54
import com.electric.chargingpile.data.UploadPic;
54
import com.electric.chargingpile.manager.ProfileManager;
55
import com.electric.chargingpile.manager.ProfileManager;
55
import com.electric.chargingpile.util.BarColorUtil;
56
import com.electric.chargingpile.util.BarColorUtil;
57
import com.electric.chargingpile.util.Base64;
56
import com.electric.chargingpile.util.Bimp;
58
import com.electric.chargingpile.util.Bimp;
57
import com.electric.chargingpile.util.CommonParams;
59
import com.electric.chargingpile.util.CommonParams;
60
import com.electric.chargingpile.util.DateUtils;
58
import com.electric.chargingpile.util.DensityUtil;
61
import com.electric.chargingpile.util.DensityUtil;
59
import com.electric.chargingpile.util.ImageItem;
62
import com.electric.chargingpile.util.ImageItem;
60
import com.electric.chargingpile.util.JsonUtils;
63
import com.electric.chargingpile.util.JsonUtils;
62
import com.electric.chargingpile.util.PublicWay;
65
import com.electric.chargingpile.util.PublicWay;
63
import com.electric.chargingpile.util.Res;
66
import com.electric.chargingpile.util.Res;
64
import com.electric.chargingpile.util.ToastUtil;
67
import com.electric.chargingpile.util.ToastUtil;
68
import com.electric.chargingpile.util.Util;
69
import com.google.gson.Gson;
65
import com.luck.picture.lib.tools.ScreenUtils;
70
import com.luck.picture.lib.tools.ScreenUtils;
66
import com.umeng.analytics.MobclickAgent;
71
import com.umeng.analytics.MobclickAgent;
67
import com.upyun.library.common.ParallelUploader;
72
import com.upyun.library.common.ParallelUploader;
79
import java.util.List;
84
import java.util.List;
80
import java.util.Map;
85
import java.util.Map;
81
86
87
import cn.jpush.android.api.JPushInterface;
82
import io.reactivex.Observable;
88
import io.reactivex.Observable;
83
import io.reactivex.ObservableEmitter;
89
import io.reactivex.ObservableEmitter;
84
import io.reactivex.ObservableOnSubscribe;
90
import io.reactivex.ObservableOnSubscribe;
281
            return;
287
            return;
282
        String fileNames = "";
288
        String fileNames = "";
283
        for (int i = 0; i < Bimp.tempSelectBitmap.size(); i++) {
289
        for (int i = 0; i < Bimp.tempSelectBitmap.size(); i++) {
284
            String fileNameDir = Bimp.tempSelectBitmap.get(i).getImagePath();
285
            String fileName = fileNameDir.substring(fileNameDir.lastIndexOf("/") + 1);
290
291
            ImageItem imageItem = Bimp.tempSelectBitmap.get(i);
292
//            String fileNameDir = Bimp.tempSelectBitmap.get(i).getImagePath();
293
//            String fileName = fileNameDir.substring(fileNameDir.lastIndexOf("/") + 1);
286
            if (TextUtils.isEmpty(fileNames)) {
294
            if (TextUtils.isEmpty(fileNames)) {
287
                fileNames = fileName;
295
                fileNames = imageItem.fName;
288
            } else {
296
            } else {
289
                fileNames += "," + fileName;
297
                fileNames += "," + imageItem.fName;
290
            }
298
            }
291
        }
299
        }
292
300
294
        Map<String, String> map = new HashMap<>();
302
        Map<String, String> map = new HashMap<>();
295
        map.put("fileNames", fileNames);
303
        map.put("fileNames", fileNames);
296
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
304
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
297
        map.put("appToken", ProfileManager.getInstance().getKeyMessageToken(getApplicationContext()));
298
        CommonParams.addCommonParams(map);
305
        CommonParams.addCommonParams(map);
299
        OkHttpUtils.post().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
306
        OkHttpUtils.post().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
300
            @Override
307
            @Override
531
                try {
538
                try {
532
                    ArrayList<String> photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
539
                    ArrayList<String> photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
533
                    //可以同时插入多张图片
540
                    //可以同时插入多张图片
541
                    int i = 0;
534
                    for (String imagePath : photos) {
542
                    for (String imagePath : photos) {
535
543
                        i++;
536
                        Log.e(TAG, "call: imagePath " + imagePath);
544
                        Log.e(TAG, "call: imagePath " + imagePath);
537
                        Bitmap bitmap = BitmapFactory.decodeFile(imagePath);//压缩图片
545
                        Bitmap bitmap = BitmapFactory.decodeFile(imagePath);//压缩图片
538
                        bitmap = imageZoom(bitmap);
546
                        bitmap = imageZoom(bitmap);
539
                        ImageItem takePhoto = new ImageItem();
547
                        ImageItem takePhoto = new ImageItem();
548
                        String deviceId = JPushInterface.getUdid(MainApplication.context);
549
                        takePhoto.fName = DateUtils.getSimpleCurrentDate();
550
                        if (TextUtils.isEmpty(deviceId)) {
551
                            takePhoto.fName += "_" + Util.getRandom(15);
552
                        } else {
553
                            takePhoto.fName += "_" + deviceId;
554
                        }
555
                        takePhoto.fName += "_00" + i;
556
557
                        String suffix = imagePath.substring(imagePath.lastIndexOf(".") + 1);
558
                        takePhoto.fName += "." + suffix;
559
540
                        takePhoto.setBitmap(bitmap);
560
                        takePhoto.setBitmap(bitmap);
541
                        takePhoto.setImagePath(imagePath);
561
                        takePhoto.setImagePath(imagePath);
562
542
                        Bimp.tempSelectBitmap.add(takePhoto);
563
                        Bimp.tempSelectBitmap.add(takePhoto);
543
                        subscriber.onNext(imagePath);
564
                        subscriber.onNext(imagePath);
544
                    }
565
                    }
851
     */
872
     */
852
    private void formUpload(String SAMPLE_PIC_FILE, String sign, String policyServer) {
873
    private void formUpload(String SAMPLE_PIC_FILE, String sign, String policyServer) {
853
        File temp = new File(SAMPLE_PIC_FILE);
874
        File temp = new File(SAMPLE_PIC_FILE);
875
854
//        //进度回调,可为空
876
//        //进度回调,可为空
855
        UpProgressListener progressListener = new UpProgressListener() {
877
        UpProgressListener progressListener = new UpProgressListener() {
856
            @Override
878
            @Override
868
            @Override
890
            @Override
869
            public void onComplete(boolean isSuccess, String result) {
891
            public void onComplete(boolean isSuccess, String result) {
870
//                tv_form.setText(isSuccess + ":" + result);
892
//                tv_form.setText(isSuccess + ":" + result);
871
                Log.e(TAG, isSuccess + ":" + result);
872
                if (isSuccess)
873
                    publishArray.add(result);
893
                Log.e(TAG, isSuccess + result);
894
                if (isSuccess) {
895
                    PhotoUploadResult photoUploadResult = new PhotoUploadResult(result);
896
                    publishArray.add(photoUploadResult.formatResult());
897
                }
898
874
                if (publishCount == publishArray.size()) {
899
                if (publishCount == publishArray.size()) {
875
                    String urls = "";
900
                    String urls = "";
876
                    for (int i = 0; i < publishArray.size(); i++) {
901
                    for (int i = 0; i < publishArray.size(); i++) {
895
        String url = MainApplication.urlNew + "/topic/publish.do";
920
        String url = MainApplication.urlNew + "/topic/publish.do";
896
        Map<String, String> map = new HashMap<>();
921
        Map<String, String> map = new HashMap<>();
897
        map.put("content", et_context.getText().toString());
922
        map.put("content", et_context.getText().toString());
898
        map.put("urls", urls);
923
        map.put("urls", Base64.encode(urls.getBytes()).replaceAll("\\s*", ""));
924
        Log.d(TAG, "requestPublishServer: " + Base64.encode(urls.getBytes()).replaceAll("\\s*", ""));
899
        if (chatRecommendBean != null) {
925
        if (chatRecommendBean != null) {
900
            map.put("topicId", chatRecommendBean.topicId + "");
926
            map.put("topicId", chatRecommendBean.topicId + "");
901
        }
927
        }
902
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
928
        map.put("targetType", ChatRecommendBean.TARGET_TYPE_IMAGE_TEXT + "");
903
        map.put("coverImgUrl", "");
904
        CommonParams.addCommonParams(map);
929
        CommonParams.addCommonParams(map);
905
930
906
        OkHttpUtils.post().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {
931
        OkHttpUtils.post().params(map).url(url).build().connTimeOut(6000).readTimeOut(6000).execute(new StringCallback() {

+ 4 - 4
app/src/main/java/com/electric/chargingpile/application/MainApplication.java

73
    public static String firstPoint = "";
73
    public static String firstPoint = "";
74
    public static Boolean firstSsyd;
74
    public static Boolean firstSsyd;
75
    public static String password = "";
75
    public static String password = "";
76
//    public static String url = "http://59.110.68.162";// 充电桩测试环境
77
    public static String url = "http://cdz.evcharge.cc";// 充电桩正式环境
78
//    public static String urlNew = "http://123.56.67.7:83/api/0200";// 一电测试环境
79
    public static String urlNew = "https://api.touchev.com:83/api/0200";// 一电正式环境
76
    public static String url = "http://59.110.68.162";// 充电桩测试环境
77
//    public static String url = "http://cdz.evcharge.cc";// 充电桩正式环境
78
    public static String urlNew = "http://123.56.67.7:83/api/0300";// 一电测试环境
79
//    public static String urlNew = "https://api.touchev.com:83/api/0200";// 一电正式环境
80
    public static String pic_url = "http://cdz.evcharge.cc/zhannew/uploadfile/";
80
    public static String pic_url = "http://cdz.evcharge.cc/zhannew/uploadfile/";
81
    //	public static String url = "https://cdz.d1ev.com";
81
    //	public static String url = "https://cdz.d1ev.com";
82
    public static String build_flag = "0";
82
    public static String build_flag = "0";

+ 35 - 0
app/src/main/java/com/electric/chargingpile/data/PhotoUploadResult.java

1
package com.electric.chargingpile.data;
2
3
import android.util.Log;
4
5
import com.electric.chargingpile.util.JsonUtils;
6
import com.google.gson.Gson;
7
8
import java.util.HashMap;
9
import java.util.Map;
10
11
public class PhotoUploadResult {
12
    private static final String TAG = "PhotoUploadResult";
13
    private String result;
14
15
    public PhotoUploadResult(String result) {
16
        this.result = result;
17
    }
18
19
    public String formatResult() {
20
        Gson gson = new Gson();
21
        Map<String, Object> map = new HashMap<>();
22
        map = gson.fromJson(result, map.getClass());
23
24
        Map<String, Object> resultMap = new HashMap<>();
25
        resultMap.put("type", map.get("image-type"));
26
        resultMap.put("size", map.get("file_size"));
27
        resultMap.put("w", map.get("image-width"));
28
        resultMap.put("h", map.get("image-height"));
29
        resultMap.put("url", map.get("url"));
30
        resultMap.put("frames", map.get("image-frames"));
31
32
        return JsonUtils.mapToJson(resultMap);
33
    }
34
35
}

+ 4 - 0
app/src/main/java/com/electric/chargingpile/fragment/ChatPhotoFragment.java

3
import android.os.Bundle;
3
import android.os.Bundle;
4
import android.support.annotation.Nullable;
4
import android.support.annotation.Nullable;
5
import android.support.v4.app.Fragment;
5
import android.support.v4.app.Fragment;
6
import android.util.Log;
7
import android.view.DragEvent;
6
import android.view.LayoutInflater;
8
import android.view.LayoutInflater;
9
import android.view.MotionEvent;
7
import android.view.View;
10
import android.view.View;
8
import android.view.ViewGroup;
11
import android.view.ViewGroup;
9
12
11
import com.squareup.picasso.Picasso;
14
import com.squareup.picasso.Picasso;
12
15
13
import uk.co.senab.photoview.PhotoView;
16
import uk.co.senab.photoview.PhotoView;
17
import uk.co.senab.photoview.PhotoViewAttacher;
14
18
15
public class ChatPhotoFragment extends Fragment {
19
public class ChatPhotoFragment extends Fragment {
16
    private static final String TAG = "ChatPhotoFragment";
20
    private static final String TAG = "ChatPhotoFragment";

+ 6 - 0
app/src/main/java/com/electric/chargingpile/util/DateUtils.java

22
        return sf.format(d);
22
        return sf.format(d);
23
    }
23
    }
24
24
25
    public static String getSimpleCurrentDate() {
26
        Date d = new Date();
27
        sf = new SimpleDateFormat("yyyyMMddHHmmss");
28
        return sf.format(d);
29
    }
30
25
    /*时间戳转换成字符窜*/
31
    /*时间戳转换成字符窜*/
26
    public static String getDateToString(long time) {
32
    public static String getDateToString(long time) {
27
        Date d = new Date(time);
33
        Date d = new Date(time);

+ 1 - 0
app/src/main/java/com/electric/chargingpile/util/ImageItem.java

11
    public String thumbnailPath;
11
    public String thumbnailPath;
12
    public String imagePath;
12
    public String imagePath;
13
    private Bitmap bitmap;
13
    private Bitmap bitmap;
14
    public String fName = "";
14
    public boolean isSelected = false;
15
    public boolean isSelected = false;
15

16

16
    public String getImageId() {
17
    public String getImageId() {

+ 10 - 0
app/src/main/java/com/electric/chargingpile/util/Util.java

21
import java.util.HashMap;
21
import java.util.HashMap;
22
import java.util.List;
22
import java.util.List;
23
import java.util.Map;
23
import java.util.Map;
24
import java.util.Random;
24

25

25
public class Util {
26
public class Util {
26
    private static final String PHONE_PATTERN = "[1]{1}[3,4,5,6,7,8,9]{1}[0-9]{9}";
27
    private static final String PHONE_PATTERN = "[1]{1}[3,4,5,6,7,8,9]{1}[0-9]{9}";
49

50

50
    }
51
    }
51

52

53
    public static String getRandom(int length) {
54
        String val  = "";
55
        Random random = new Random();
56
        for (int i=0;i<length;i++) {
57
            val += String.valueOf(random.nextInt(10));
58
        }
59
        return val;
60
    }
61

52

62

53
    public static String getPhone(Context context) {
63
    public static String getPhone(Context context) {
54
        return ProfileManager.getInstance().getUsername(context);
64
        return ProfileManager.getInstance().getUsername(context);

+ 1 - 1
app/src/main/res/layout/fragment_chat_content_pictures.xml

8
8
9
    <com.electric.chargingpile.iview.ChatPhotoViewPager
9
    <com.electric.chargingpile.iview.ChatPhotoViewPager
10
        android:id="@+id/photoPager"
10
        android:id="@+id/photoPager"
11
        android:layout_width="match_parent"
11
        android:layout_width="0dp"
12
        android:layout_height="0dp"
12
        android:layout_height="0dp"
13
        app:layout_constraintBottom_toTopOf="@+id/bottomView"
13
        app:layout_constraintBottom_toTopOf="@+id/bottomView"
14
        app:layout_constraintLeft_toLeftOf="parent"
14
        app:layout_constraintLeft_toLeftOf="parent"

+ 1 - 1
app/src/main/res/layout/fragment_chat_photo.xml

10
    android:layout_width="match_parent"
10
    android:layout_width="match_parent"
11
    android:layout_height="wrap_content"
11
    android:layout_height="wrap_content"
12
    android:adjustViewBounds="true"
12
    android:adjustViewBounds="true"
13
    android:scaleType="fitXY"
13
    android:scaleType="centerCrop"
14
    app:layout_constraintBottom_toBottomOf="parent"
14
    app:layout_constraintBottom_toBottomOf="parent"
15
    app:layout_constraintLeft_toLeftOf="parent"
15
    app:layout_constraintLeft_toLeftOf="parent"
16
    app:layout_constraintRight_toRightOf="parent"
16
    app:layout_constraintRight_toRightOf="parent"