Tec*_*guy 2 vb.net download webbrowser-control
我一直在使用visual basic的web浏览器.现在,我想要做的是在下载之前获取文件大小,当我点击下载时我想获得alrady下载的Mbs的数量(观看图片) )
感谢帮助!
我做了一些研究,这可能是获得下载大小(以字节为单位)的最简单,最"最干净"的方式:
Public Function GetDownloadSize(ByVal URL As String) As Long
Dim r As Net.WebRequest = Net.WebRequest.Create(URL)
r.Method = Net.WebRequestMethods.Http.Head
Using rsp = r.GetResponse()
Return rsp.ContentLength
End Using
End Function
Run Code Online (Sandbox Code Playgroud)
感谢里德金布尔,谁告诉我,处置WebResponse在我最初的MSDN的问题.
上面的代码将读取文件的响应头,而不是读取它的主体.这意味着该文件不需要下载,只是为了检查它的大小.
这就是为什么有些代码要求文件首先实际下载的原因; 他们正在阅读文件的正文而不是它的标题.
希望这可以帮助!
使用WebClient ResponseHeaders:
Public Shared Function GetFileSize(url As String) As Long
Using obj As New WebClient()
Using s As Stream = obj.OpenRead(url)
Return Long.Parse(obj.ResponseHeaders("Content-Length").ToString())
End Using
End Using
End Function
Run Code Online (Sandbox Code Playgroud)