XYOCRSDK.getInstance().init("memberid", "id", "license"); XYOCRSDK.getInstance().setDebug(true); //开启风险识别 XYOCRSDK.getInstance().setDetectRisk(true); XYOCRSDK.getInstance().startScan(RealAutchActivity.this, DataUtils.getCurrentDate(), new OnResultListener() { @Override public void callBack(String resultcode, String resultMsg, IdCardInfo idCardInfo) { if (idCardInfo == null) { if (XinYanCodeAndMsg.KEY_ERRORCODE_C9999.equals(resultcode)) { Toast.makeText(RealAutchActivity.this, "请允许接受协议", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(RealAutchActivity.this, resultMsg, Toast.LENGTH_SHORT).show(); } Loggers.e("resultcode: " + resultcode + " ,resultMsg:" + resultMsg); } else { Constants.ownBankInfo = null; Constants.ownIdCardInfo = idCardInfo; name = ownIdCardInfo.getIdcard_name(); gender = ownIdCardInfo.getIdcard_gender(); address = ownIdCardInfo.getIdcard_address(); idCardNum = ownIdCardInfo.getIdcard_number(); issuingAuthority = ownIdCardInfo.getIdcard_authority(); validityPeriod = ownIdCardInfo.getValid_date().replace(".", ""); Log.w("22222", ownIdCardInfo.getIdcard_front_image() + "我的" + ownIdCardInfo.getIdcard_back_image()); //OSS上传 upLoadByte(Bitmap2Bytes(ownIdCardInfo.getIdcard_front_image())); upLoadByteImg(Bitmap2Bytes(ownIdCardInfo.getIdcard_back_image())); } // getIdcard_back_imageLoggers.e("resultcode: " + resultcode + " ,resultMsg:" + resultMsg + "result:" // + idCardInfo.toString()); } });
oss上传
private void upLoadByte(byte[] bytes) { String frontUploadPath1 = "XingShiZheng/" + System.currentTimeMillis() + ".png"; frontUploadLiveUrl1 = "http://" + ALIYUN_APP_BUCKET + ".oss-cn-beijing.aliyuncs.com/" + frontUploadPath1; OssService ossService = new OssService(this, Constants.ALIYUN_APP_ID, Constants.ALIYUN_APP_KEY, Constants.ALIYUN_APP_ENPOINT, ALIYUN_APP_BUCKET); ossService.initOSSClient(); ossService.beginupload(this, frontUploadPath1, bytes); //frontUploadPath1 照片路径 ossService.setUpLoadSucessCallback(new OssService.UpLoadSucessCallback() { @Override public void onUploadSucessCallback(PutObjectResult result) { runOnUiThread(new Runnable() { @Override public void run() { // GlideUtil.load(ivHold, frontUploadLiveUrl); // stopLoading(); // if (i.equals("zhengmianFile")) { imageFrontside = frontUploadLiveUrl1; GlideUtil.load(ivHuman, frontUploadLiveUrl1); Log.w("tup1", frontUploadLiveUrl1); // Log.w("tupian", frontUploadLiveUrl); uploadImage(frontUploadPath); // } else if (i.equals("fanmianFile")){ uploadImage(frontUploadPath); // GlideUtil.load(ivNational, frontUploadLiveUrl); // } } }); } }); }
private OSS oss; private String accessKeyId; private String bucketName; private String accessKeySecret; private String endpoint; private Context context; private ProgressCallback progressCallback; private UpLoadSucessCallback upLoadSucessCallback; public OssService(Context context, String accessKeyId, String accessKeySecret, String endpoint, String bucketName) { this.context = context; this.endpoint = endpoint; this.bucketName = bucketName; this.accessKeyId = accessKeyId; this.accessKeySecret = accessKeySecret; } public void initOSSClient() { //OSSCredentialProvider credentialProvider = new OSSStsTokenCredentialProvider("<StsToken.AccessKeyId>", "<StsToken.SecretKeyId>", "<StsToken.SecurityToken>"); //这个初始化安全性没有Sts安全,如需要很高安全性建议用OSSStsTokenCredentialProvider创建(上一行创建方式)多出的参数SecurityToken为临时授权参数 OSSCredentialProvider credentialProvider = new OSSPlainTextAKSKCredentialProvider("keyid", "keysecret"); ClientConfiguration conf = new ClientConfiguration(); conf.setConnectionTimeout(15 * 1000); // 连接超时,默认15秒 conf.setSocketTimeout(15 * 1000); // socket超时,默认15秒 conf.setMaxConcurrentRequest(8); // 最大并发请求数,默认5个 conf.setMaxErrorRetry(2); // 失败后最大重试次数,默认2次 // oss为全局变量,endpoint是一个OSS区域地址 // Runnable runnable = new Runnable() { // @Override // public void run() { oss = new OSSClient(context, "oss-cn-beijing.aliyuncs.com", credentialProvider, conf); // } // }; } public void beginupload(Context context, String filename, byte[] cropFrontByte) { //通过填写文件名形成objectname,通过这个名字指定上传和下载的文件 String objectname = filename; if (objectname == null || objectname.equals("")) { ToastUtils.showToast("文件名不能为空"); return; } //下面3个参数依次为bucket名,Object名,上传文件路径 PutObjectRequest put = new PutObjectRequest(bucketName, objectname, cropFrontByte); if (cropFrontByte == null || cropFrontByte.equals("")) { return; } // 异步上传,可以设置进度回调 Log.i("111", "---正在上传-"); put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() { @Override public void onProgress(PutObjectRequest request, long currentSize, long totalSize) { double progress = currentSize * 1.0 / totalSize * 100.f; if (progressCallback != null) { Log.i("111","----"+progress); progressCallback.onProgressCallback(progress); } } }); @SuppressWarnings("rawtypes") OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() { @Override public void onSuccess(PutObjectRequest request, PutObjectResult result) { PutObjectResult result1 = result; Log.i("111", "-----上传C--"); if (upLoadSucessCallback != null) { upLoadSucessCallback.onUploadSucessCallback(result); } } @Override public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) { // 请求异常 ToastUtils.showToast("UploadFailure"); Log.i("111", "-----上传失败--"); if (clientExcepion != null) { // 本地异常如网络异常等 clientExcepion.printStackTrace(); } if (serviceException != null) { } } }); //task.cancel(); // 可以取消任务 //task.waitUntilFinished(); // 可以等待直到任务完成 } public void beginupload(Context context, String filename, String uploadFilePath) { //通过填写文件名形成objectname,通过这个名字指定上传和下载的文件 String objectname = filename; if (objectname == null || objectname.equals("")) { ToastUtils.showToast("文件名不能为空"); return; } //下面3个参数依次为bucket名,Object名,上传文件路径 PutObjectRequest put = new PutObjectRequest(bucketName, objectname, uploadFilePath); if (uploadFilePath == null || uploadFilePath.equals("")) { //ToastUtils.showShort("请选择图片...."); return; } put.setProgressCallback(new OSSProgressCallback<PutObjectRequest>() { @Override public void onProgress(PutObjectRequest request, long currentSize, long totalSize) { double progress = currentSize * 1.0 / totalSize * 100.f; if (progressCallback != null) { progressCallback.onProgressCallback(progress); } } }); @SuppressWarnings("rawtypes") OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() { @Override public void onSuccess(PutObjectRequest request, PutObjectResult result) { PutObjectResult result1 = result; if (upLoadSucessCallback != null) { upLoadSucessCallback.onUploadSucessCallback(result); } } @Override public void onFailure(PutObjectRequest request, ClientException clientExcepion, ServiceException serviceException) { // 请求异常 ToastUtils.showToast("UploadFailure"); if (clientExcepion != null) { clientExcepion.printStackTrace(); } if (serviceException != null) { } } }); //task.cancel(); // 可以取消任务 //task.waitUntilFinished(); // 可以等待直到任务完成 } public void upDataFile(){ byte[] uploadData = new byte[100 * 1024]; new Random().nextBytes(uploadData); PutObjectRequest put = new PutObjectRequest("<bucketName>", "<objectName>", uploadData); try { PutObjectResult putResult = oss.putObject(put); Log.d("PutObject", "UploadSuccess"); Log.d("ETag", putResult.getETag()); Log.d("RequestId", putResult.getRequestId()); } catch (ClientException e) { // 本地异常,如网络异常等。 e.printStackTrace(); } catch (ServiceException e) { // 服务异常。 Log.e("RequestId", e.getRequestId()); Log.e("ErrorCode", e.getErrorCode()); Log.e("HostId", e.getHostId()); Log.e("RawMessage", e.getRawMessage()); } } public ProgressCallback getProgressCallback() { return progressCallback; } public void setProgressCallback(ProgressCallback progressCallback) { this.progressCallback = progressCallback; } public interface ProgressCallback { void onProgressCallback(double progress); } public UpLoadSucessCallback getUpLoadSucessCallback() { return upLoadSucessCallback; } public void setUpLoadSucessCallback(UpLoadSucessCallback upLoadSucessCallback) { this.upLoadSucessCallback = upLoadSucessCallback; } public interface UpLoadSucessCallback { void onUploadSucessCallback(PutObjectResult result); }