Chia sẻ code tải file VB.NET
Bài viết này chia sẻ cách tải file trong VB.NET bằng cách sử dụng Progress, WebClient. Đây là code có sẵn nên bạn tải về và nhận dụng ngay vào chương trình hoặc phần mềm của bạn.

Code này các bạn có thể sử dụng:
- Tải file với tiến trình
- Sử dụng để tải nhiều tập tin cùng lúc
- Lấy được tên tập tin, kích thước và ước lương thời gian tải về
Code tải file vb.net:
'2006 kleinma MSMVP
'www.vbforums.com
'Edit by Nguyen Trung Nhan
Imports System.Net
Imports System.IO
Public Class WebFileDownloader
Public Event AmountDownloadedChanged(ByVal iNewProgress As Long)
Public Event FileDownloadSizeObtained(ByVal iFileSize As Long)
Public Event FileDownloadComplete()
Public Event FileDownloadFailed(ByVal ex As Exception)
Private mCurrentFile As String = String.Empty
Public ReadOnly Property CurrentFile() As String
Get
Return mCurrentFile
End Get
End Property
Public Function DownloadFile(ByVal URL As String, ByVal Location As String) As Boolean
Try
mCurrentFile = GetFileName(URL)
Dim WC As New WebClient
WC.DownloadFile(URL, Location)
RaiseEvent FileDownloadComplete()
Return True
Catch ex As Exception
RaiseEvent FileDownloadFailed(ex)
Return False
End Try
End Function
Private Function GetFileName(ByVal URL As String) As String
Try
Return URL.Substring(URL.LastIndexOf("/") + 1)
Catch ex As Exception
Return URL
End Try
End Function
Public Function DownloadFileWithProgress(ByVal URL As String, ByVal Location As String) As Boolean
Dim FS As FileStream
Try
mCurrentFile = GetFileName(URL)
Dim wRemote As WebRequest
Dim bBuffer As Byte()
ReDim bBuffer(256)
Dim iBytesRead As Integer
Dim iTotalBytesRead As Integer
FS = New FileStream(Location, FileMode.Create, FileAccess.Write)
wRemote = WebRequest.Create(URL)
Dim myWebResponse As WebResponse = wRemote.GetResponse
RaiseEvent FileDownloadSizeObtained(myWebResponse.ContentLength)
Dim sChunks As Stream = myWebResponse.GetResponseStream
Do
iBytesRead = sChunks.Read(bBuffer, 0, 256)
FS.Write(bBuffer, 0, iBytesRead)
iTotalBytesRead += iBytesRead
If myWebResponse.ContentLength < iTotalBytesRead Then
RaiseEvent AmountDownloadedChanged(myWebResponse.ContentLength)
Else
RaiseEvent AmountDownloadedChanged(iTotalBytesRead)
End If
Loop While Not iBytesRead = 0
sChunks.Close()
FS.Close()
RaiseEvent FileDownloadComplete()
Return True
Catch ex As Exception
If Not (FS Is Nothing) Then
FS.Close()
FS = Nothing
End If
RaiseEvent FileDownloadFailed(ex)
Return False
End Try
End Function
Public Shared Function FormatFileSize(ByVal Size As Long) As String
Try
Dim KB As Integer = 1024
Dim MB As Integer = KB * KB
' Return size of file in kilobytes.
If Size < KB Then
Return (Size.ToString("D") & " bytes")
Else
Select Case Size / KB
Case Is < 1000
Return (Size / KB).ToString("N") & "KB"
Case Is < 1000000
Return (Size / MB).ToString("N") & "MB"
Case Is < 10000000
Return (Size / MB / KB).ToString("N") & "GB"
End Select
End If
Catch ex As Exception
Return Size.ToString
End Try
End Function
End Class
Đó chính là code tải file vb.net.
Chúc các bạn thành công! Cảm ơn bạn đã đọc Blog!
Xem thêm: Sắp xếp số theo thứ tự giảm dần không sai vị trí PHP
Bình luận Facebook