Foxtable(狐表)用户栏目专家坐堂 → 二进制列 怎么实现web上传图片呢?


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

主题:二进制列 怎么实现web上传图片呢?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)既然都有了一个dr,又何必多此一举?...  发帖心情 Post By:2020/5/19 17:20:00 [只看该作者]

                       cmd.Com mandText = "up date {web上传图片} set 图片= Values(?) where 姓名='" & dr("姓名") & "'"
                        Dim ImageByte() As Byte = System.IO.File.ReadAllBytes(wj) '读取文件流,并将读到的二进制数据放入数组ImageByte中,
                        cmd.Parameters.Add("@图片", ImageByte)
                        cmd.ExecuteNonQuery
                        DataTables ("web上传图片").Load()

老师  红色部分提示有错误   我改怎么修正呢?



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


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

                       cmd.Com mandText = "up date {web上传图片} set 图片= ? where 姓名=?"
                        Dim ImageByte() As Byte = System.IO.File.ReadAllBytes(wj) '读取文件流,并将读到的二进制数据放入数组ImageByte中,
                        cmd.Parameters.Add("@图片", ImageByte)
                        cmd.Parameters.Add("@姓名", dr("姓名"))
                        cmd.ExecuteNonQuery
                        DataTables ("web上传图片").Load()

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


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

灰常感谢

再麻烦老师一下   为什么我用红色部分  无法上传图片呢?
单独用这个.AddUploader("up1","图片",True) '这个就可以上传  但是一次只能选择一张照片



            With wb.AddInputGroup("form1","ipg1","增加图片")
                .AddSelect("单位名称","单位名称","瓮安|") '前一个"姓名"是ID,后一个"姓名"是标题
                .AddSelect("所属支部","所属支部","第一支部|第二支部")
                .AddInput("姓名","姓名","Text")
                .AddSelect("图片类别","图片类别","|会议记录|学习记录|学习心得|其它材料")      
                With wb.AddInputGroup("form1","ipg2","文件上传") '文件上传
                    With.AddUploader("up1","请选择图片",True) 'True表示允许上传多个文件
                    .AllowDelete = True '允许删除
                    .Incremental = True '允许重复选择文件或连续拍照
                    End With
                End With
            End With
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定", "submit")
            End With

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


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

参考:http://www.foxtable.com/mobilehelp/topics/0106.htm,仔细看完帮助的说明

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


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


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

有点蓝老师  已经按照你建议的帮助内容进行完善,但是还有点问题需要老师多多指导一下   谢谢
访问上面地址 运行出现如下错误:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.1.19.19
错误所在事件:项目,HttpRequest
详细错误信息:
此行已从表中移除并且没有任何数据。BeginEdit() 将允许在此行中创建新数据

出现上述错误之后,选择的多个图片上传的话,默认只有一个图片获取得到了名称,其它的图片名称全部为空,
然后图片二进制列写入的文件  只有第一个选择的图片文件  其它数据行得到的二进制列文件都是默认第一个图片文件
[此贴子已经被作者于2020/5/20 9:56:56编辑过]

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


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

这个业务逻辑本身就有问题,前端一次只能填写一个姓名,也就是对应表格的一行记录,而一行只有一个二进制列,任何保存多个图片?

还是说您想选择几个图片同一个姓名就新增几行记录?

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)这个业务逻辑本身就有问题,前端一次...  发帖心情 Post By:2020/5/20 10:10:00 [只看该作者]

想听听老师的合理建议   哪一种比较高效一些    
是不是另外创建一个附件表  直接附件表关联过来比较合适些呢?

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


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

另外建一个附件表

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)另外建一个附件表  发帖心情 Post By:2020/5/20 11:49:00 [只看该作者]

创建了一个web上传图片附件  表    红色部分会新增两条一样的记录  在web上传图片里面 【待解决】    web上传图片附件已经可以多个文件了

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



麻烦老师指导下:
当前代码如下:
Dim wb As New weui
Dim cmd As New SQ LCommand
cmd.C o n n e c t i o n N a m e = "智慧党建"
Dim dt As DataTable = cmd.ExecuteReader
Select Case e.Path
    Case "index1.htm"
        If e.PostValues.Count = 0 Then
            wb.AddForm("","form1","index1.htm")
            With wb.AddInputGroup("form1","ipg1","增加图片")
                .AddSelect("单位名称","单位名称","瓮安|") '前一个"姓名"是ID,后一个"姓名"是标题
                .AddSelect("所属支部","所属支部","第一支部|第二支部")
                .AddInput("姓名","姓名","Text")
                .AddSelect("图片类别","图片类别","|会议记录|学习记录|学习心得|其它材料")
                With wb.AddInputGroup("form1","ipg2","文件上传") '文件上传
                    With.AddUploader("up1","请选择图片",True) 'True表示允许上传多个文件
                    .AllowDelete = True '允许删除
                    .Incremental = True '允许重复选择文件或连续拍照
                End With
            End With
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit").Attribute= ""
        End With
        wb.AddToast("","tst1", "正在上传",1)
        wb.AddToast("","tst2", "上传成功",0)
        wb.AddToast("","tst3", "上传失败",0).Icon= "warn"
        wb.AppendHTML("<script src='./lib/ajaxform.js'></script>") '引入脚本文件
        e.WriteString(wb.Build)
    Else
        Dim st As New Date(1970,1,1,8,0,0)
        Dim d As Date = cdate("2020-02-01")
        Dim t As Long = (Date.Now - st).TotalSeconds()
        Dim danweimingcheng As String  = e.PostValues("单位名称")
        Dim suoshuzhibu As String  = e.PostValues("所属支部")
        Dim xingming As String  = e.PostValues("姓名")
        Dim tupianleibie As String  = e.PostValues("图片类别")
        cmd.CommandText = "Inse rt Int o web上传图片 (单位名称,所属支部,图片类别,姓名,时间戳) Values(?,?,?,?,?)"
        cmd.Parameters.Add("@单位名称", danweimingcheng)
        cmd.Parameters.Add("@所属支部", suoshuzhibu)
        cmd.Parameters.Add("@图片类别", tupianleibie)
        cmd.Parameters.Add("@姓名", xingming)
        cmd.Parameters.Add("@时间戳", t)
        cmd.ExecuteNonQuery
        
        
        
        
        For Each key As String In e.Files.Keys
            If key = "up1" Then
                For Each fln As String In e.Files(key)
                    Dim wj As String =ProjectPath & "Attachments\" & fln
                    e.SaveFile(key,fln,wj)
                    Dim cmd1 As New SQLCommand
                    cmd1.C
                    cmd1.CommandText = "Ins ert I nto web上传图片附件 (姓名,时间戳,图片名称,图片类别,图片) Values(?,?,?,?,?)"
                    cmd1.Parameters.Add("@姓名", xingming)
                    cmd1.Parameters.Add("@时间戳", t)
                    cmd1.Parameters.Add("@图片名称", FileSys.GetName(wj))
                    cmd1.Parameters.Add("@图片类别", tupianleibie)
                    Dim ImageByte() As Byte = System.IO.File.ReadAllBytes(wj) '读取文件流,并将读到的二进制数据放入数组ImageByte中,
                    cmd1.Parameters.Add("@图片", ImageByte)
                    cmd1.ExecuteNonQuery
                Next
            End If
        Next
        '保存并生成增加成功提示页面
        
        DataTables ("web上传图片").Load()
        DataTables ("web上传图片附件").Load()
        With wb.AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") '生成成功提示页
            .AddButton("btn1","继续增加","index1.htm")
        End With
        e.WriteString(wb.Build)
    End If
    
End Select
[此贴子已经被作者于2020/5/20 12:36:50编辑过]

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


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

        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit").Attribute= ""
        End With

改为
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "button").Attribute= ""
        End With

 回到顶部
总数 22 上一页 1 2 3 下一页