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