Foxtable(狐表)用户栏目专家坐堂 → 如何给文件上传做个进度条?


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

主题:如何给文件上传做个进度条?

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
如何给文件上传做个进度条?  发帖心情 Post By:2018/11/18 0:43:00 [只看该作者]

如何计算文件大小,再根据文件大小做个进度条,为什么下面代码一执行就死机?

Dim st As String = "D:\图集规范\图集\建筑工程\钢筋工程\16G1012现浇混凝土板式楼梯.pdf"

Dim stt As String"C:\AAA\16G1012现浇混凝土板式楼梯.pdf

Dim pg As WinForm.ProgressBar = e.Form.Controls("ProgressBar1")

Dim fif As new FileInfo(st)

Dim fift As new FileInfo(stt)

pg.Maximum = fif.Length

pg.Minimum = 0

pg.Value = 0

 

For i As Integer = 0 To (fif.Length - fift.Length)

    FileSys.CopyFile(st,stt,True)

    If i Mod 100 = 0 Then

        pg.Value = i

    End If

Next


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/18 22:44:00 [只看该作者]

1、copyFile无法做进度条;

 

2、除非自己写代码拷贝文件,如

 
try
    Dim ms1 As New IO.FileStream("d:\test.jpg", IO.FileMode.Open)
    Dim ms2 As New IO.FileStream("d:\000.jpg", IO.FileMode.Create)
    Dim buffer(1024) As Byte
    Dim count = ms1.read(buffer, 0, buffer.length)   
    Do While (count > 0)
        ms2.Write(buffer, 0, count)
        count = ms1.Read(buffer, 0, buffer.Length)
    Loop

    ms1.Dispose()
    ms2.Dispose()
    msgbox("ok")
catch ex As exception
    msgbox(ex.message)
End try

[此贴子已经被作者于2018/11/18 22:44:25编辑过]

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


加好友 发短信
等级:三尾狐 帖子:767 积分:6119 威望:0 精华:0 注册:2018/2/1 17:26:00
  发帖心情 Post By:2018/11/19 0:08:00 [只看该作者]

老师如何赐值给进度条?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/19 0:17:00 [只看该作者]

try
    Dim ms1 As New IO.FileStream("d:\test.jpg", IO.FileMode.Open)
    Dim ms2 As New IO.FileStream("d:\000.jpg", IO.FileMode.Create)
    Dim buffer(1024) As Byte
    Dim count = ms1.read(buffer, 0, buffer.length)
    msgbox(ms1.length)
    Dim sum As Double = 0
    Do While (count > 0)
        sum += count
        output.show(sum)

        ms2.Write(buffer, 0, count)
        count = ms1.Read(buffer, 0, buffer.Length)
    Loop
    ms1.Dispose()
    ms2.Dispose()
    msgbox("ok")
catch ex As exception
    msgbox(ex.message)
End try

 


 回到顶部