能不能帮我看看,是出什么问题了
Dim r As Row = Tables("员工信息_员工信息").Current
Dim sffo As String
sffo = ProjectPath & "Attachments\sdb.cfg"
Dim txt As WinForm.Label = e.Form.Controls("Label1")
If FileSys.FileExists(sffo) Then
Dim Info As String
Info = FileSys.ReadAllText(sffo) '读取生成的文本文件
info = info.Replace(vbcrlf,vblf) '将回车换行替换为换行
Dim pars() As String = Info.Split(vblf) '将读取的信息拆分为数组
Dim tsq1 As String
Dim tsq2 As String
Dim tsq3 As String
Dim jzf1 As String = pars(0).SubString(6)
Dim jzf3 As String = pars(1).SubString(7)
Dim jzf5 As String = pars(2).SubString(10)
tsq1 = jzf1.Trim()
tsq2 = jzf3.Trim()
tsq3 = jzf5.Trim()
Vars.Add("AppID",Gettype(String),tsq1)
Vars.Add("APIKey",Gettype(String),tsq2)
Vars.Add("SecretKey",Gettype(String),tsq3)
Dim dlg As New FolderBrowserDialog '选择目录对话框
dlg.Description = "选择文件夹" '对话框的说明
dlg.ShowNewFolderButton = False '不显示"新建文件夹"按钮
If dlg.ShowDialog = DialogResult.Ok Then '如果单击确定
MessageBox.Show("你选择的目录是:" & dlg.SelectedPath ,"提示")
For Each File As String In FileSys.GetFiles(dlg.SelectedPath) '列出已选择文件夹根目录下所有的文件名
If File.EndsWith("1.jpg") Or File.EndsWith("1.JPG") Then '如果文件后缀名为"1.jpg"或者"1.JPG"为真
MessageBox.Show(File)
try
'----------------------------------识别身份证正面------------------------------------------------------
Dim client As new Baidu.Aip.Ocr.Ocr(Vars("APIKey"), Vars("SecretKey")) '初始化接口类,传入创建的应用的API Key,Secret Key
client.Timeout = 60000 '设置超时时间
Dim data() As Byte = System.IO.File.ReadAllBytes(File)'dlg.FileName) '把图片文件字节流加载进来,
Dim options As new Dictionary(of String, object) '使用字典传递参数
'options.Add("detect_direction","true") '是否检测图像朝向,默认不检测
options.Add("detect_risk","true")
Dim jo = client.Idcard(data,"front", options) '调用接口开始识别,返回值为JObject对象
If jo("error_code") IsNot Nothing AndAlso jo("error_code") <> 0 Then
txt.text = "识别失败: " & vbcrlf & jo("error_msg").Tostring
Else
Dim sbu As new StringBuilder
sbu.AppendLine( "--------************-----------")
sbu.AppendLine( "状态:" & jo("image_status").Tostring)
If jo("risk_type") IsNot Nothing Then sbu.AppendLine("风险类型:" & jo("risk_type").Tostring)
If jo("edit_tool") IsNot Nothing Then sbu.AppendLine("编辑状态:" & jo("edit_tool").Tostring)
sbu.AppendLine( "--------************-----------")
sbu.AppendLine( "识别出" & jo("words_result_num").Tostring & "条信息:")
If jo("words_result")("公民身份号码") IsNot Nothing Then sbu.AppendLine( "--公民身份号码:" & jo("words_result")("公民身份号码")("words").ToString)
If jo("words_result")("出生") IsNot Nothing Then sbu.AppendLine( "--出生日期:" & jo("words_result")("出生")("words").ToString)
If jo("words_result")("姓名") IsNot Nothing Then sbu.AppendLine( "--姓名:" & jo("words_result")("姓名")("words").ToString)
If jo("words_result")("性别") IsNot Nothing Then sbu.AppendLine( "--性别:" & jo("words_result")("性别")("words").ToString)
If jo("words_result")("民族") IsNot Nothing Then sbu.AppendLine( "--民族:" & jo("words_result")("民族")("words").ToString)
If jo("words_result")("住址") IsNot Nothing Then sbu.AppendLine( "--住址:" & jo("words_result")("住址")("words").ToString)
Dim gSf0 As String =jo("words_result")("姓名")("words").ToString
Dim gSf1 As String =jo("words_result")("公民身份号码")("words").ToString
Dim gSf2 As String =jo("words_result")("性别")("words").ToString
Dim gSf3 As String =jo("words_result")("住址")("words").ToString
If gSf1.Length = 18 Then
With Tables("员工信息_员工信息")
Dim ri As Integer
ri = .Find(gSf1, .RowSel + 1, "证件号码", False, False, True)
If ri > - 1 Then '如果找到符合条件的行
Dim Result As DialogResult
Result = MessageBox.Show("员工证件重复!" & vblf & "请检查是否已输入该员工!" & vblf & "员工姓名: " & gSf0 & "性别: " & gSf2 & vblf & "公民身份号码: " & gSf1 & vblf & "住 址:" & gSf3 , "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
If Result = DialogResult.ok Then
r("员工姓名") = Nothing
r("证件号码") = Nothing
r("性别") = Nothing
r("原籍地址") = Nothing
End If
Else
r("员工姓名") = jo("words_result")("姓名")("words").ToString
r("证件号码") = jo("words_result")("公民身份号码")("words").ToString
r("性别") = jo("words_result")("性别")("words").ToString
r("原籍地址") = jo("words_result")("住址")("words").ToString
r("是否为持卡人") = True
If DataTables("员工信息_员工信息").HasChanges Then
DataTables("员工信息_员工信息").Save
End If
'----------------------------------上传身份证正反面------------------------------------------------------
Dim ftp1 As New FtpClient
ftp1.Host=Tables("FTPIP").Current("FTPhost")
ftp1.Account = Tables("FTPIP").Current("FTPAccount")
ftp1.Password = Tables("FTPIP").Current("FTPpassword")
Dim l As String = "/身份证/"& r("证件号码") + r("员工姓名")
Dim sf As String = r("证件图1")
If ftp1.DirExists(l) Then
Messagebox.Show("服务器文件目录已经存在!","提示")
If FileSys.FileExists(File) Then
If ftp1.Upload(File,sf) = True Then
Messagebox.show("" &r("员工姓名")&" 身份证正面上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("" &r("员工姓名")&" 身份证正面上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
Messagebox.show("没有找到 " &r("员工姓名")&" 的身份证(正面)图片!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
If ftp1.MakeDir(l) Then
Messagebox.Show("创建目录成功!")
If FileSys.FileExists(File) Then
If ftp1.Upload(File,sf) = True Then
Messagebox.show("" &r("员工姓名")&" 身份证正面上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("" &r("员工姓名")&" 身份证正面上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
Messagebox.show("没有找到 " &r("员工姓名")&" 的身份证(正面)图片!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
'Else
Messagebox.Show("创建目录失败,请联系管理员!")
End If
End If
End If
If File.EndsWith("2.jpg") Or File.EndsWith("2.JPG") Then '如果文件后缀名为"2.jpg"或者"2.JPG"为真
Output.Show(File)
Dim ftp1 As New FtpClient
ftp1.Host=Tables("FTPIP").Current("FTPhost")
ftp1.Account = Tables("FTPIP").Current("FTPAccount")
ftp1.Password = Tables("FTPIP").Current("FTPpassword")
Dim l As String = "/身份证/"& r("证件号码") + r("员工姓名")
Dim sf1 As String = r("证件图2")
If ftp1.DirExists(l) Then
If FileSys.FileExists(File) Then
If ftp1.Upload(File,sf1) = True Then
Messagebox.show("" &r("员工姓名")&" 身份证反面上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("" &r("员工姓名")&" 身份证反面上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
Messagebox.show("没有找到 " &r("员工姓名")&" 的身份证(反面)图片!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
If ftp1.MakeDir(l) Then
Messagebox.Show("创建目录成功!")
If FileSys.FileExists(File) Then
If ftp1.Upload(File,sf1) = True Then
Messagebox.show("" &r("员工姓名")&" 身份证反面上传完成!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Else
Messagebox.show("" &r("员工姓名")&" 身份证反面上传失败!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
Messagebox.show("没有找到 " &r("员工姓名")&" 的身份证(反面)图片!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End If
Else
Messagebox.Show("创建目录失败,请联系管理员!")
End If
End If
End If
End With
Else
Dim Result As DialogResult
Result = MessageBox.Show("识别位数错误,请重新识别!" & vblf & "请重新扫描证件后再次识别!" , "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
If Result = DialogResult.ok Then
r("员工姓名") = Nothing
r("证件号码") = Nothing
r("性别") = Nothing
r("原籍地址") = Nothing
End If
End If
End If
catch ex As exception
txt.Visible = True
txt.text = txt.text & vbcrlf & "识别接口调用失败,错误描述: " & vbcrlf & ex.message
txt.ForeColor = Color.Red
End try
End If
Dim idx As Integer = Tables("员工信息_员工信息").position
If idx <> 0 Then
Tables("员工信息_员工信息").position = 0
Tables("员工信息_员工信息").position = idx
Else
Tables("员工信息_员工信息").position += 1
Tables("员工信息_员工信息").position = idx
End If
Next
End If
Else
Dim frm As WinForm.Form
frm = Forms("百度AI开发接口数据配置")
frm.Open()
End If