示例#1
0
        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);
            }
        }
示例#2
0
        /// <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);
        }
示例#3
0
        /// <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
                }
            });
        }