Foxtable(狐表)用户栏目专家坐堂 → 在上传文件到二进制列时,如何显示文件上传进度条呢?


  共有2428人关注过本帖平板打印复制链接

主题:在上传文件到二进制列时,如何显示文件上传进度条呢?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
在上传文件到二进制列时,如何显示文件上传进度条呢?  发帖心情 Post By:2021/1/18 0:47:00 [只看该作者]

在上传文件到二进制列时,如何显示文件上传进度条呢?

进度条窗体中  有一个进度条组件 和按钮
按钮代码:可以实现根据文件获取文件大小并刷新窗体中的进度条组件【怎么实现进度条到达完毕后,关闭进度条窗体呢?红色部分代码怎么完善?
Dim ifo As new FileInfo("D:\360极速浏览器下载\boneAnimation_v2.2.9_x64.exe")
Dim p As WinForm.ProgressBar
p = e.Form.Controls("ProgressBar1")
p.Maximum = ifo.Length'设置最大值
p.Minimum = 0 '设置最小值
p.Value = 0 '设置当前值
For i As Integer = 0 To ifo.Length - 1
    If i Mod 100 = 0 Then
        p.Value = i '当前值为已经完成的行数
    End If
Forms("进度条").Close()
Next

下面代码为列子中的二进制文件上传代码   怎么采用上面的代码来对应在上传文件的时候 弹出进度条窗体 并显示进度条呢?上传完毕后自动关闭进度条窗体。(红色部分……代码该怎么写呢?)
上传文件按钮代码:
IDim dlg As New OpenFileDialog
dlg.Filter = "图形文件|*.bmp;*.jpg;*.gif;*.png"
If dlg.ShowDialog =DialogResult.OK Then
    Dim fl As String = dlg.FileName
    Dim r As Row = Tables("员工.附件").AddNew()
    r("文件名") = FileSys.GetName(fl) '写入文件名
    r.Save '必须先保存
    r.DataRow.SQLInsertFile("附件",fl) '插入文件
……
Forms("进度条").show()
    r.DataRow.SQLSetValue("CRC值", CRCCheckFile(fl)) '保存crc检验值
End If




下面代码为列子中的二进制文件打开代码   怎么采用上面的代码来对应在下载文件的时候 弹出进度条窗体 并显示进度条呢?下载完毕后自动关闭进度条窗体。(红色部分……代码该怎么写呢?)
打开文件按钮代码:
If Tables("员工.附件").Current Is Nothing Then
    Return
End If
Dim dr As DataRow = Tables("员工.附件").Current.DataRow
Dim fl As String =  ProjectPath &  dr("文件名")
If FileSys.FileExists(fl) AndAlso CRCCheckFile(fl) = dr.SQLGetValue("CRC值") Then '如果本地存在同名文件且CRC校验值相同
    '则直接使用本地文件
Else '否则从数据库提取文件
……
Forms("进度条").show()
    If dr.SQLLoadFile("附件",fl) = False Then '如果提取文件失败
        Messagebox.Show("附件提取失败,可能并不存在附件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Return
    End If
End If
Dim Proc As New Process '打开文件
Proc.File = fl
Proc.Start()
[此贴子已经被作者于2021/1/18 0:58:09编辑过]

 回到顶部