package com.kuanzhai.user.utils
|
|
import android.util.Log
|
import cn.sinata.xldutils.activity.BaseActivity
|
import com.kuanzhai.user.interfaces.StringCallback
|
import org.jetbrains.anko.toast
|
import top.zibin.luban.Luban
|
import top.zibin.luban.OnCompressListener
|
import java.io.File
|
|
fun String.uploadWithCompress(act: BaseActivity, callback: StringCallback, isSingle:Boolean = true){
|
Luban.with(act).load(File(this))
|
.ignoreBy(100).setTargetDir(act.getPath())
|
.filter { path -> path.isNotEmpty() || path.toLowerCase().endsWith(".gif") }
|
.setCompressListener(object : OnCompressListener {
|
override fun onSuccess(file: File) {
|
Log.e("Oo","压缩完成")
|
try {
|
Thread{
|
OSSUtil(act).uploadSingle(file.path,object :OSSUtil.OSSUploadCallBack(){
|
override fun onFial(message: String?) {
|
super.onFial(message)
|
act.runOnUiThread {
|
act.dismissDialog()
|
act.toast(message ?: "上传失败")
|
}
|
}
|
|
override fun onFinish(url: String) {
|
super.onFinish(url)
|
act.runOnUiThread {
|
if (isSingle)
|
act.dismissDialog()
|
callback.onRlt(url)
|
}
|
}
|
})
|
}.start()
|
}catch (e:Exception){
|
e.printStackTrace()
|
}
|
|
}
|
|
override fun onError(e: Throwable?) {
|
e?.printStackTrace()
|
act.dismissDialog()
|
}
|
|
override fun onStart() {
|
Log.e("gwx","压缩开始")
|
act.showDialog(canCancel = false)
|
}
|
}).launch()
|
}
|