From 571ccea5b3dc11ca107aac9ce88e46e2b2b809c2 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 14 十月 2024 09:55:52 +0800
Subject: [PATCH] 提交
---
cylsg/EzUpFile/EzFileUploadService.cs | 251 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 250 insertions(+), 1 deletions(-)
diff --git a/cylsg/EzUpFile/EzFileUploadService.cs b/cylsg/EzUpFile/EzFileUploadService.cs
index a10403d..f745f2e 100644
--- a/cylsg/EzUpFile/EzFileUploadService.cs
+++ b/cylsg/EzUpFile/EzFileUploadService.cs
@@ -3,14 +3,21 @@
using Aliyun.OSS.Util;
using cylsg.utility;
using cylsg.utility.Extend;
+using EzTencentCloud;
using Furion;
using Furion.DependencyInjection;
using Furion.FriendlyException;
using Microsoft.AspNetCore.Http;
using SqlSugar;
+using System;
+using System.Buffers.Text;
+using System.Drawing;
using System.Globalization;
using System.Security.Policy;
+using TencentCloud.Ocr.V20181119.Models;
+using TencentCloud.Teo.V20220901.Models;
+using Task = System.Threading.Tasks.Task;
namespace EzUpFile
{
/// <summary>
@@ -21,11 +28,13 @@
private readonly HttpRequest? _request;
private readonly ISqlSugarClient _sqlSugarClient;
- public EzFileUploadService(IHttpContextAccessor httpContext, ISqlSugarClient sqlSugarClient)
+ private readonly ITencentCloudService _tcs;
+ public EzFileUploadService(IHttpContextAccessor httpContext, ISqlSugarClient sqlSugarClient,ITencentCloudService tencentCloudService)
{
_request = httpContext.HttpContext?.Request ?? null;
_sqlSugarClient = sqlSugarClient;
+ _tcs= tencentCloudService;
}
/// <summary>
@@ -275,8 +284,248 @@
return true;
}
+
+
+
+
#endregion
+ #region 璇嗗埆涓婁紶
+ public async Task<(IDCardOCRResponse, string)> UpIdCord(string PageName = "FRONT")
+ {
+ try
+ {
+ var maxSize = 1024 * 1024 * 5; //涓婁紶澶у皬5M
+
+ var FileData = _request?.Form?.Files["file"];
+
+ if (FileData.Length > maxSize)
+ {
+ throw Oops.Oh(" 涓婁紶鏂囦欢涓嶅彲瓒呭嚭5M");
+ }
+
+
+ //澶勭悊鍥惧舰
+ // var FileData = Request.Form.Files[0];
+
+ Image oimage = Image.FromStream(FileData.OpenReadStream());
+ if (oimage == null)
+ {
+ throw Oops.Oh(" 涓婁紶澶辫触");
+ }
+
+ MemoryStream ms = new MemoryStream();
+ if (oimage.Width > 1200)
+
+ {
+ if (oimage.Width > oimage.Height)
+ oimage.GetThumbnailImage(1200, 800, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ else
+ oimage.GetThumbnailImage(800, 1200, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ }
+ else
+ oimage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ ms.Position = 0;
+
+ var arr = ms.ToArray();
+ string img64 = Convert.ToBase64String(arr);
+
+ IDCardOCRResponse idcordinfo = null;
+ string url = "";
+
+ try
+ {
+
+
+ idcordinfo = _tcs.IdCord(img64, PageName == "FRONT");
+
+ url = await UploadFilesFByBase64(_tcs.GetIdCordImg());
+ idcordinfo.AdvancedInfo = null;
+
+ return (idcordinfo, url);
+
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+
+ }
+
+ public async Task<(BizLicenseOCRResponse, string)> UpBizLicense()
+ {
+ try
+ {
+
+ var maxSize = 1024 * 1024 * 5; //涓婁紶澶у皬5M
+
+ var FileData = _request?.Form?.Files["file"];
+
+ if (FileData.Length > maxSize)
+ {
+ throw Oops.Oh(" 涓婁紶鏂囦欢涓嶅彲瓒呭嚭500K");
+ }
+
+
+ //澶勭悊鍥惧舰
+ // var FileData = Request.Form.Files[0];
+
+ Image oimage = Image.FromStream(FileData.OpenReadStream());
+ if (oimage == null)
+ {
+ throw Oops.Oh(" 涓婁紶澶辫触");
+ }
+
+ MemoryStream ms = new MemoryStream();
+ if (oimage.Width > 1200)
+
+ {
+ if (oimage.Width > oimage.Height)
+ oimage.GetThumbnailImage(1200, 800, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ else
+ oimage.GetThumbnailImage(800, 1200, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ }
+ else
+ oimage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ ms.Position = 0;
+
+ var arr = ms.ToArray();
+ string img64 = Convert.ToBase64String(arr);
+
+ BizLicenseOCRResponse info = null;
+ string url = "";
+
+ try
+ {
+ info = _tcs.BizLicenseOCR(img64);
+
+ url = await UploadFilesFByBase64(img64);
+
+ return (info, url);
+
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+
+
+ public async Task<(bool,string)> IaiAddPerso(string CoredID,string Name,int PersonGender)
+ {
+ try
+ {
+
+ var maxSize = 1024 * 1024 * 5; //涓婁紶澶у皬5M
+
+ var FileData = _request?.Form?.Files["file"];
+
+ if (FileData.Length > maxSize)
+ {
+ throw Oops.Oh(" 涓婁紶鏂囦欢涓嶅彲瓒呭嚭500K");
+ }
+
+
+ //澶勭悊鍥惧舰
+ // var FileData = Request.Form.Files[0];
+
+ Image oimage = Image.FromStream(FileData.OpenReadStream());
+ if (oimage == null)
+ {
+ throw Oops.Oh(" 涓婁紶澶辫触");
+ }
+
+ MemoryStream ms = new MemoryStream();
+ if (oimage.Width > 600)
+
+ {
+ if (oimage.Width > oimage.Height)
+ oimage.GetThumbnailImage(600, 400, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ else
+ oimage.GetThumbnailImage(400, 600, null, IntPtr.Zero).Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ }
+ else
+ oimage.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
+ ms.Position = 0;
+
+ var arr = ms.ToArray();
+ string img64 = Convert.ToBase64String(arr);
+
+ bool info = false;
+ string url = "";
+
+ try
+ {
+ info = _tcs.IaiAddPerso(img64, CoredID, Name, PersonGender);
+
+ url = await UploadFilesFByBase64(img64);
+
+ return (info, url);
+
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+/// <inheritdoc/>
+
+ public async Task<(bool, string)> IaiAddPerso(string imgBase64, string CoredID, string Name, int PersonGender)
+ {
+ if (string.IsNullOrEmpty(imgBase64))
+ {
+ throw Oops.Oh("娌℃湁鍐呭");
+ }
+
+ //妫�鏌ヤ笂浼犲ぇ灏�
+ if (!CommonHelper.CheckBase64Size(imgBase64, 5))
+ {
+ throw Oops.Oh("涓婁紶鏂囦欢澶у皬瓒呰繃闄愬埗锛屾渶澶у厑璁镐笂浼�" + "5" + "M");
+ }
+
+ imgBase64 = imgBase64.Replace("data:image/png;base64,", "").Replace("data:image/jgp;base64,", "").Replace("data:image/jpg;base64,", "").Replace("data:image/jpeg;base64,", "");//灏哹ase64澶撮儴淇℃伅鏇挎崲
+ bool info = false;
+ string url = "";
+
+ try
+ {
+ info = _tcs.IaiAddPerso(imgBase64, CoredID, Name, PersonGender);
+
+ url = await UploadFilesFByBase64(imgBase64);
+
+ return (info, url);
+
+ }
+ catch (Exception e)
+ {
+
+ throw Oops.Oh(e.Message);
+ }
+ }
+
+
+ #endregion
}
}
--
Gitblit v1.9.1