public Respbase <IdCardUploadFileDto> UploadFile(ReqUploadFile req) { FileService fileService = new FileService(); if (req.ImageActionType == FileActionType.临时) { string fileName = $"/images2/tempfile/{DateTime.Now.ToString("yyyyMMdd")}/{Guid.NewGuid().ToString()}.{req.Typeid}"; string physicsFileName = System.Web.Hosting.HostingEnvironment.MapPath(fileName); if (!Helper.Base64StringToImage(req.Content, physicsFileName, req.Typeid)) { return(new Respbase <IdCardUploadFileDto> { Result = -1, Message = "保存文件失败", Data = null }); } return(new Respbase <IdCardUploadFileDto> { Data = new IdCardUploadFileDto { Url = fileName } }); } else { var result = UploadImg(req); return(result); } }
/// <summary> /// 保存图片 /// </summary> /// <param name="req"></param> /// <returns></returns> public bool SaveFile(ReqUploadFile req) { string saveDir = TempDir; if (req.ImageActionType == FileActionType.身份证正面图片 || req.ImageActionType == FileActionType.身份证反面图片 || req.ImageActionType == FileActionType.百度人脸识别图片 || req.ImageActionType == FileActionType.驾驶证行驶证 || req.ImageActionType == FileActionType.驾驶证副页) { saveDir = TempDir;//先存到临时目录,提交认证时移到 UserAuthDir } else if (req.ImageActionType == FileActionType.用户头像) { saveDir = UserPhotoDir; } else if (req.ImageActionType == FileActionType.意见反馈) { saveDir = UserFeedback; } string dirPath = $"/{saveDir}/{DateTime.Now.ToString("yyyyMMdd")}"; string dirHostPath = System.Web.Hosting.HostingEnvironment.MapPath(AppConfig.FileRootDir + dirPath); if (!Directory.Exists(dirHostPath)) { Directory.CreateDirectory(dirHostPath); } FilePath = $"{dirPath}/{Guid.NewGuid().ToString("N")}.{req.Typeid}"; var isOk = Helper.Base64StringToImage(req.Content, PhysicsFilePath, req.Typeid);//保存文件 if (!isOk) { return(false); } return(true); }
/// <summary> /// 上传文件 /// </summary> private Respbase <IdCardUploadFileDto> UploadImg(ReqUploadFile req) { FileService fileService = new FileService(); if (!fileService.SaveFile(req)) { return(new Respbase <IdCardUploadFileDto> { Result = -1, Message = "保存文件失败", Data = null }); } if (req.ImageActionType == FileActionType.身份证正面图片 || req.ImageActionType == FileActionType.身份证反面图片) { IdCardService idCardService = new IdCardService(); var res = idCardService.IdCardPicRecognise((int)req.ImageActionType, fileService.PhysicsFilePath); if (res.Result == 1) { return(new Respbase <IdCardUploadFileDto> { Result = res.Result, Data = new IdCardUploadFileDto { Url = fileService.FilePath, IdentCard = res.Data }, Message = res.Message }); } return(new Respbase <IdCardUploadFileDto> { Result = res.Result, Data = new IdCardUploadFileDto { Url = fileService.Image2FilePath, }, Message = res.Message }); } if (req.ImageActionType == FileActionType.驾驶证行驶证) { string photoPhysicalPath = FileService.GetPhysicsFilePath(fileService.FilePath); (bool success, string message, object result) = ScanLicense.GetInstance(LicenseTypeEnum.Driver).Execute(new ExecuteEntity() { PhotoPhysicalPath = photoPhysicalPath }); if (!success) { return(new Respbase <IdCardUploadFileDto> { Result = -1, Message = "识别驾驶证失败", Data = new IdCardUploadFileDto { Url = fileService.Image2FilePath } }); } DriverResult driResult = ((DriverResp)result).words_result; PXinContext db = HttpContext.Current.GetDbContext <PXinContext>(); var tnetNodeInfo = db.TnetNodeinfoSet.FirstOrDefault(w => w.Nodeid == req.Nodeid); if (tnetNodeInfo == null) { return(new Respbase <IdCardUploadFileDto> { Result = -1, Message = "用户未进行身份认证", Data = new IdCardUploadFileDto { Url = fileService.Image2FilePath } }); } if (tnetNodeInfo.Name.Trim() != driResult.姓名.words.Trim() || tnetNodeInfo.Idcardno.Trim() != driResult.证号.words.Trim()) { return(new Respbase <IdCardUploadFileDto> { Result = -1, Message = "驾驶证信息与身份证信息不一致", Data = new IdCardUploadFileDto { Url = fileService.Image2FilePath } }); } } return(new Respbase <IdCardUploadFileDto> { Data = new IdCardUploadFileDto { Url = fileService.Image2FilePath } }); }