Commit 6afae939 authored by yinjiacheng's avatar yinjiacheng

update 通过Uri获取filePath

parent abd7dee0
......@@ -14,11 +14,13 @@ import android.util.Log
import androidx.core.content.FileProvider
import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity
import com.yidian.common.utils.YdFileUtils
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountEnterpriseCertificationBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.httpbean.BusinessLicenseOCRBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.IBusinessLicenseOCRCallback
import com.yidian.shenghuoquan.newscontent.utils.KS3Core
import com.yidian.utils.ToastUtil
import java.io.File
import java.io.FileOutputStream
......@@ -117,6 +119,7 @@ class LifeAccountEnterpriseCertificationActivity :
ApiService.businessLicenseOCR(object : IBusinessLicenseOCRCallback {
override fun businessLicenseOCRSuccess(result: BusinessLicenseOCRBean.Response?) {
Log.d(TAG, "name: ${result?.name}, code: ${result?.code}")
ToastUtil.showToast(this@LifeAccountEnterpriseCertificationActivity, "ocr result, name: ${result?.name}, code: ${result?.code}")
}
override fun businessLicenseOCRFailure(message: String?) {
......@@ -135,30 +138,29 @@ class LifeAccountEnterpriseCertificationActivity :
}
/**
* 通过Uri获取文件圈路径
* 通过Uri获取文件全路径
* 适配Android Q
*/
private fun getFilePathFromUri(uri: Uri?): String? {
val filePath = externalCacheDir?.absolutePath + FILE_PATH_BUSINESS_LICENSE
val file = File(filePath)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
val file = File(externalCacheDir?.absolutePath + FILE_PATH_BUSINESS_LICENSE)
if (file.exists()) {
file.delete()
} else {
// 相册
file.parentFile?.mkdirs()
file.createNewFile()
}
return when (uri?.scheme) {
ContentResolver.SCHEME_CONTENT -> {
if (uri?.scheme == ContentResolver.SCHEME_CONTENT) {
val inputStream = contentResolver.openInputStream(uri)
val fileOutputStream = FileOutputStream(file)
inputStream?.let { FileUtils.copy(it, fileOutputStream) }
inputStream?.close()
fileOutputStream.close()
filePath
}
else -> {
uri?.path
return file.absolutePath
}
return null
} else {
return YdFileUtils.getImageAbsolutePath(this, uri)
}
}
......
......@@ -20,6 +20,7 @@ import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetIDCardOCRBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.IGetIDCardOCRCallback
import com.yidian.shenghuoquan.newscontent.utils.KS3Core
import com.yidian.utils.ToastUtil
import java.io.File
import java.io.FileOutputStream
......@@ -55,10 +56,20 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
startGetLicense()
}
viewBind.btnOcr.setOnClickListener {
val frontFile = File(externalCacheDir?.absolutePath + "/front.jpg")
if (frontFile.exists()) frontFile.delete() else frontFile.createNewFile()
val backFile = File(externalCacheDir?.absolutePath + "/back.jpg")
if (backFile.exists()) backFile.delete() else backFile.createNewFile()
val frontFile = File(externalCacheDir?.absolutePath + "/ocr/idCardFront.jpg")
if (frontFile.exists()) {
frontFile.delete()
} else {
frontFile.parentFile?.mkdirs()
frontFile.createNewFile()
}
val backFile = File(externalCacheDir?.absolutePath + "/ocr/idCardBack.jpg")
if (backFile.exists()) {
backFile.delete()
} else {
backFile.parentFile?.mkdirs()
backFile.createNewFile()
}
idCardFront.compress(Bitmap.CompressFormat.JPEG, 100, FileOutputStream(frontFile))
idCardBack.compress(Bitmap.CompressFormat.JPEG, 100, FileOutputStream(backFile))
KS3Core.INSTANCE.uploadObject(frontFile, object : KS3Core.OnKS3TaskListener {
......@@ -107,6 +118,7 @@ class IDCardTestActivity : BaseActivity<ActivityIdcardBinding>() {
ApiService.getIDCardOCR(object : IGetIDCardOCRCallback {
override fun getIDCardOCRSuccess(result: GetIDCardOCRBean.Response?) {
Log.d(KS3Core.TAG, "name: ${result?.posit?.name}, id num: ${result?.posit?.idcard_number}")
ToastUtil.showToast(this@IDCardTestActivity, "ocr result, name: ${result?.posit?.name}, number: ${result?.posit?.idcard_number}")
}
override fun getIDCardOCRFailure(message: String?) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment