VB.NET使用进度条上传到FTP

时间:2014-07-06 09:48:55

标签: vb.net upload ftp

我感到有很多关于进度条的其他问题,虽然我已经“全部”查看了它们,但找不到有效的。

我正在尝试将c:\ screenshot.png上传到我的ftp,上面有一个进度条和一个msgbox。

有人可以为我提供一个有效的例子吗?

三江源

编辑继承我试过的代码。上传工作,虽然进度条剂量。

Sub UpdateProgressBar(ByVal sender As Object, ByVal e As UploadProgressChangedEventArgs)
        If ProgressBar1.InvokeRequired Then
            ProgressBar1.Invoke(New UploadProgressChangedEventHandler(AddressOf UpdateProgressBar), sender, e)
            Exit Sub
        End If
        ProgressBar1.Value = CInt(ProgressBar1.Minimum + _
        ((ProgressBar1.Maximum - ProgressBar1.Minimum) * _
          e.ProgressPercentage) / 100)
    End Sub

    Private Sub btnUpload_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        Label16.Text = "Uploading now..."
        Label16.Update()


        Dim client As New System.Net.WebClient()
        AddHandler client.UploadProgressChanged, AddressOf UpdateProgressBar

        With client
            .Credentials = New NetworkCredential( _
            "damon@slimar.eu", "mine123!")
            .UploadFile("ftp://slimar.eu/screenshot.png", "C:\screenshot.png")
        End With
        Label16.Text = "Done!"
        Label16.Update()

    End Sub

1 个答案:

答案 0 :(得分:1)

进度条有minValue,Max值,StepValue用于执行步骤和Value来设置仲裁值。当你上传文件或下载时,你应该能够通过e参数输入总字节和实际字节传输。所以您可以设置进度条值和最大值。 我个人也邀请你使用背景工作者:

  1. 不冻结GUI
  2. 在线程上给予您很多控制权,没有问题,也没有调用需求
  3. 让它变得更简单:)