Foxtable(狐表)用户栏目专家坐堂 → 在WeUI实例中,怎么打开并查看二进制列已经上传的图片


  共有3593人关注过本帖树形打印复制链接

主题:在WeUI实例中,怎么打开并查看二进制列已经上传的图片

帅哥哟,离线,有人找我吗?
李孝春
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
在WeUI实例中,怎么打开并查看二进制列已经上传的图片  发帖心情 Post By:2020/5/20 13:59:00 [只看该作者]

在WeUI实例中,怎么打开并查看二进制列已经上传的图片


web上传图片附件

 

姓名() ----> 字符型(255)

图片类别() ----> 字符型(255)

图片名称() ----> 字符型(255)

时间戳() ----> 字符型(255) 

图片()------->二进制列


代码如下:

Dim xingming As String  = e.PostValues("姓名")

    Dim dr As DataRow = DataTables("web上传图片附件").SQLFind("姓名=xingming")

    Dim Multi As List(of String) = dr.Lines("图片")



Select Case e.Path
    Case "test.htm"
        Dim wb As New weui
        wb.AddForm("","form1","test.htm")
        With wb.AddInputGroup("form1","ipg1",
"
客户资料")
            .AddInput(
"
姓名","姓名","text")
            With .AddUploader("up1","",True)
                .AllowAdd = False
'
关闭文件上传功能
               
For Each file As String In Multi

                    msgbox(file)

                    .AddImage("./images/" & file )

                Next

            End With
        End With
       
e.WriteString(wb.Build) '生成网页
End
Select


怎么实现根据姓名输入的值,查找web上传图片附件里面的符合条件的所有图片,并全部显示出来呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/20 14:32:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)参考:http://www.foxtable.com/bbs/...  发帖心情 Post By:2020/5/20 16:50:00 [只看该作者]

老师  麻烦指导一下  谢谢!
参照帮助学习如下:
Dim xingming1 As String  = e.PostValues("姓名")
……
Case "test.htm"
    
    wb.AddForm("","form1","getVimg.htm")
    With wb.AddInputGroup("form1","ipg1","增加图片")
        .AddInput("姓名","姓名","Text")
    End With
    
    
    With wb.AddButtonGroup("form1","btg1",True)  '垂直排列
        .Add("btn1", "查看图片")
    End With
    e.WriteString(wb.Build) '生成网页
Case "getVimg.htm"
    
    wb.AddForm("","form1","getVimg.htm")
    Dim cmd11 As New SQ LCommand
    cmd11.Connec tion Name = "智慧党建"
    cmd11.Com mand Text="sele ct  图片 from web上传图片附件 where 姓名= '" & xingming1 & "' " '这里第八列是二进制列
    Dim dt As DataTable = cmd11.Execu teReader
    Dim src As String
    If dt.DataRows.Count >0 Then
        Dim imagebytes As Byte() = dt.DataRows(0)("图片")
        src = Convert.ToBase64String(imagebytes )
    End If
    With wb.AddArticle("","ar1")
        .UseGallery = True '启用Gallery,必须放在第一行
        ' .AddImage("./images/004.jpg")
        .AddImage("data:image/jpeg;base64," & src)
    End With
    e.WriteString(wb.Build) '生成网页
End Select

上述代码基本上是可以实现了查找姓名对应的图片单张显示,是否可以帮忙改进一下   显示多张图片呢?



参照论坛其它学习
更改如下后:无法正常使用
Case "getVimg.htm"
    wb.AddForm("","form1","getVimg.htm")
    Dim cmd11 As New SQ LCommand
    cmd11.Connecti
    cmd11.Com man dText="se lect  图片 fro m web上传图片附件 whe re 姓名= '" & xingming1 & "' " '这里第八列是二进制列
    Dim dt As DataTable = cm d11.Execu teReader
    Dim dr As DataRow = dt.DataRows(0)
    Dim Multi As List(of String) = dr.Lines("图片")
    Dim src As String
    If dt.DataRows.Count >0 Then
        Dim imagebytes As Byte() = dt.DataRows(0)("图片")
        src = Convert.ToBase64String(imagebytes )
    End If
    
    With wb.AddInputGroup("form1","ipg1","客户资料")
        .AddInput("姓名","姓名","text").value = "舒淇"
        .AddInput("地点","地点","text").Value = "蒙古草原"
        .AddInput("日期","日期","date").value = #10/12/2012#
        With .AddUploader("up1","",True)
            .AllowAdd = False '关闭文件上传功能
            For Each file As String In Multi
                msgbox(file)
                .AddImage("data:image/jpeg;base64," & src)
            Next
        End With
    End With
    e.WriteString(wb.Build) '生成网页
End Select
[此贴子已经被作者于2020/5/20 16:51:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/20 16:57:00 [只看该作者]

Case "getVimg.htm"
    
    wb.AddForm("","form1","getVimg.htm")
    Dim cmd11 As New SQ LCommand
    cmd11.Connec tion Name = "智慧党建"
    cmd11.Com mand Text="sele ct  图片 from web上传图片附件 where 姓名= '" & xingming1 & "' " '这里第八列是二进制列
    Dim dt As DataTable = cmd11.Execu teReader
    Dim src As String
    With wb.AddArticle("","ar1")
        .UseGallery = True '启用Gallery,必须放在第一行
        ' .AddImage("./images/004.jpg")
for each dr as datarow in dt.DataRows
Dim imagebytes As Byte() = dr("图片")
        src = Convert.ToBase64String(imagebytes )
        .AddImage("data:image/jpeg;base64," & src)
next
    End With
    e.WriteString(wb.Build) '生成网页
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)Case "getVimg.htm"   &nb...  发帖心情 Post By:2020/5/20 19:10:00 [只看该作者]

Case "getVimg.htm"
    wb.AddForm("","form1","getVimg.htm")
    
    Dim cmd11 As New SQ LCommand
    cmd11.Conn ecti
    cmd11.CommandText="sele ct  图片 from web上传图片附件 where 姓名= '" & xingming1 & "' " '这里第八列是二进制列
    Dim dt As DataTable = cmd11.ExecuteReader
    Dim src As String
    With wb.AddInputGroup("form1","ipg111","客户资料")
        .AddInput("姓名","姓名","text").value = xingming
    End With
    With wb.AddInputGroup("form1","ipg1111","图片信息")
        With .AddUploader("up111","",True)
            .AllowAdd = False '关闭文件上传功能
            With wb.AddArticle("","ar1")
                .UseGallery = True '启用Gallery,必须放在第一行
                For Each dr As DataRow In dt.DataRows
                    Dim imagebytes As Byte() = dr("图片")
                    src = Convert.ToBase64String(imagebytes )
                    .AddImage("data:image/jpeg;base64," & src)
                Next              
            End With           
        End With  
    End With
    With wb.AddInputGroup("form1","ipg1111111","")
        With wb.AddButtonGroup("form1","btg1",True)  '垂直排列
            .Add("btn5", "按钮", "", "http://www.foxtable.com")
        End With
    End With
    e.WriteString(wb.Build) '生成网页
    

初步可以实现根据姓名显示多个图片文件
怎么把图片显示在  图片信息  框框里呢?

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 9:04:00 [只看该作者]

With wb.AddInputGroup("form1","ipg1111","图片信息")
        With .AddUploader("up111","",True)
            .AllowAdd = False '关闭文件上传功能
                For Each dr As DataRow In dt.DataRows
                    Dim imagebytes As Byte() = dr("图片")
                    src = Convert.ToBase64String(imagebytes )
                    .AddImage("data:image/jpeg;base64," & src)
                Next                    
        End With  
    End With

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)With wb.AddInputGroup("form1","ipg...  发帖心情 Post By:2020/5/21 9:29:00 [只看该作者]

老师  去掉了   红色部分
 With wb.AddInputGroup("form1","ipg1111","图片信息")
        With .AddUploader("up111","",True)
            .AllowAdd = False '关闭文件上传功能
            With wb.AddArticle("","ar1")
                .UseGallery = True '启用Gallery,必须放在第一行
                For Each dr As DataRow In dt.DataRows
                    Dim imagebytes As Byte() = dr("图片")
                    src = Convert.ToBase64String(imagebytes )
                    .AddImage("data:image/jpeg;base64," & src)
                Next              
            End With           
        End With  
    End With

之后,如果是单张图片可以正常显示,多张图片就提示错误如下:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:项目,HttpRequest
详细错误信息:
已添加了具有相同键的项。



不去掉的时候,如5楼,只是显示位置不对  但是多张图片可以全部显示出来
[此贴子已经被作者于2020/5/21 9:43:25编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 10:02:00 [只看该作者]

我测试没有问题。检查其他代码,调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

 回到顶部
帅哥哟,离线,有人找我吗?
李孝春
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)我测试没有问题。检查其他代码,调试...  发帖心情 Post By:2020/5/21 10:15:00 [只看该作者]

老师:

以下内容是专门发给有点蓝浏览



Case "getVimg.htm"
    wb.AddForm("","form1","getVimg.htm")
    
    Dim cmd11 As New S Q L Command
    cmd11.Co nn ectio nNam e = "智慧党建"
    cmd11.CommandText="sel ect  图片 from web上传图片附件 where 姓名= '" & xingming1 & "' " '这里第八列是二进制列
    Dim dt As DataTable = cmd11.ExecuteReader
    Dim src As String
    With wb.AddInputGroup("form1","ipg11","客户资料")
        .AddInput("姓名","姓名","text").value = xingming
    End With

    With wb.AddInputGroup("form1","ipg22","图片信息")
MessageBox.Show(1)
        With .AddUploader("up2","",True)
MessageBox.Show(2)
            .AllowAdd = False '关闭文件上传功能
MessageBox.Show(3)
            For Each dr As DataRow In dt.DataRows
MessageBox.Show(4)
                Dim imagebytes As Byte() = dr("图片")
MessageBox.Show(5)
                src = Convert.ToBase64String(imagebytes )
MessageBox.Show(6)
                .AddImage("data:image/jpeg;base64," & src)
MessageBox.Show(7)
            Next
MessageBox.Show(8)
        End With
    End With
MessageBox.Show(9)
    With wb.AddInputGroup("form1","ipg33","")
        With wb.AddButtonGroup("form1","btg1",True)  '垂直排列
            .Add("btn5", "按钮", "", "test.htm")
        End With
    End With
    e.WriteString(wb.Build) '生成网页

经过测试   
依次提示1234567456然后报错。
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:项目,HttpRequest
详细错误信息:
已添加了具有相同键的项。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/5/21 10:53:00 [只看该作者]

我测试没有问题,关闭退出项目,删除项目所在的文件夹里的bin目录,然后重启项目试试。

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


 回到顶部
总数 14 1 2 下一页