|
@@ -51,6 +51,9 @@ public class PictureSelectorUpload {
|
|
|
private RecyclerView mRecyclerView;
|
|
|
private PopupWindow pop;
|
|
|
|
|
|
+ private boolean isCompress = false;
|
|
|
+ private int compressQuality = 100;//默认值
|
|
|
+ private int minimumCompressSize = 100;//最小压缩
|
|
|
private OSSAsyncTask task;
|
|
|
private ProgressDialog progressDialog;
|
|
|
List<String> errorList = new ArrayList<String> ();;
|
|
@@ -105,6 +108,15 @@ public class PictureSelectorUpload {
|
|
|
resourcePrefix = spCache.getResourcePrefix();
|
|
|
}
|
|
|
|
|
|
+ public void setCompress(Boolean isCompress) {
|
|
|
+ this.isCompress = isCompress;
|
|
|
+ }
|
|
|
+ public void setCompress(Boolean isCompress,int compressQuality,int minimumCompressSize) {
|
|
|
+ this.isCompress = isCompress;
|
|
|
+ this.compressQuality = compressQuality;
|
|
|
+ this.minimumCompressSize = minimumCompressSize;
|
|
|
+ }
|
|
|
+
|
|
|
public ArrayList getPhotoList(){
|
|
|
return adapter.getPhotoList();
|
|
|
}
|
|
@@ -291,13 +303,19 @@ public class PictureSelectorUpload {
|
|
|
}else{
|
|
|
closeDialog();
|
|
|
// 通过接口对象传上传状态
|
|
|
- uploadChangeListener.uploadResult(true);
|
|
|
+ if (uploadChangeListener!=null){
|
|
|
+ uploadChangeListener.uploadResult(true);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
XLog.e(e.getMessage());
|
|
|
e.printStackTrace();
|
|
|
// 通过接口对象传上传状态
|
|
|
- uploadChangeListener.uploadResult(false);
|
|
|
+ if (uploadChangeListener!=null){
|
|
|
+ uploadChangeListener.uploadResult(false);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
};
|
|
@@ -340,6 +358,10 @@ public class PictureSelectorUpload {
|
|
|
|
|
|
LocalMedia localMedia = awaitUploadList.get(num);
|
|
|
String urlPath =localMedia.getPath();
|
|
|
+ if (isCompress){
|
|
|
+ urlPath = localMedia.getCompressPath();
|
|
|
+ }
|
|
|
+
|
|
|
if (urlPath.isEmpty()){
|
|
|
Message msg = new Message();
|
|
|
msg.obj = "文件路径不存在";
|
|
@@ -503,6 +525,9 @@ public class PictureSelectorUpload {
|
|
|
.minSelectNum(1)
|
|
|
.imageSpanCount(4)
|
|
|
.selectionMode(PictureConfig.MULTIPLE)
|
|
|
+ .compress(isCompress) // 压缩
|
|
|
+ .cropCompressQuality(compressQuality)// 裁剪压缩质量 默认100
|
|
|
+ .minimumCompressSize(minimumCompressSize) //最新压缩图片
|
|
|
.forResult(PictureConfig.CHOOSE_REQUEST);
|
|
|
break;
|
|
|
case R.id.tv_camera:
|
|
@@ -512,6 +537,9 @@ public class PictureSelectorUpload {
|
|
|
//只需要拍照
|
|
|
//.selectionMode(PictureConfig.SINGLE)
|
|
|
//.isCamera(true)
|
|
|
+ .compress(isCompress) // 压缩
|
|
|
+ .cropCompressQuality(compressQuality)// 裁剪压缩质量 默认100
|
|
|
+ .minimumCompressSize(minimumCompressSize) //最新压缩图片
|
|
|
.forResult(PictureConfig.CHOOSE_REQUEST);
|
|
|
|
|
|
break;
|
|
@@ -539,6 +567,10 @@ public class PictureSelectorUpload {
|
|
|
//只需要拍照
|
|
|
//.selectionMode(PictureConfig.SINGLE)
|
|
|
//.isCamera(true)
|
|
|
+ //.compressMaxKB()//压缩最大值kb compressGrade()为Luban.CUSTOM_GEAR有效
|
|
|
+ .compress(isCompress) // 压缩
|
|
|
+ .cropCompressQuality(compressQuality)// 裁剪压缩质量 默认100
|
|
|
+ .minimumCompressSize(minimumCompressSize) //最新压缩图片
|
|
|
.forResult(PictureConfig.CHOOSE_REQUEST);
|
|
|
}
|
|
|
|