본문 바로가기
카테고리 없음

[vb.net] WebClient 파일 업로드 프로세스 바 / BackgroundWorker Progress Display

by IT HUB 2023. 6. 14.
728x90
반응형
Private WithEvents uploader As New WebClient
 
 
Private Sub UploadFile(sourcePath As String, destinationAddress As String)
    uploader.UploadFileAsync(New Uri(destinationAddress), sourcePath)
End Sub
 
 
Private Sub uploader_UploadProgressChanged(sender As Object, e As UploadProgressChangedEventArgs) Handles uploader.UploadProgressChanged
    SetProgress(Convert.ToInt32(100 * e.BytesSent / e.TotalBytesToSend))
End Sub
 
Private Sub uploader_UploadFileCompleted(sender As Object, e As UploadFileCompletedEventArgs) Handles uploader.UploadFileCompleted
    NotifyUploadComplete()
End Sub
 
 
Private Sub SetProgress(progress As Integer)
    If ProgressBar1.InvokeRequired Then
        ProgressBar1.Invoke(New Action(Of Integer)(AddressOf SetProgress), progress)
    Else
        ProgressBar1.Value = progress
    End If
End Sub
 
Private Sub NotifyUploadComplete()
    If InvokeRequired Then
        Invoke(New MethodInvoker(AddressOf NotifyUploadComplete))
    Else
        MessageBox.Show("Upload complete")
    End If
End Sub
반응형

댓글