使用VB.net下载文件不完整

时间:2017-08-27 18:39:57

标签: vb.net

我到处搜索但没有任何好处。

我正在使用此代码下载文件:

Imports System.IO
Imports System.Security.AccessControl
Imports System.Net
Imports System.ComponentModel

Public Class Step4

    Function GetUserName() As String
        If TypeOf My.User.CurrentPrincipal Is 
          System.Security.Principal.WindowsPrincipal Then
            ' The application is using Windows authentication.
            ' The name format is DOMAIN\USERNAME.
            Dim parts() As String = Split(My.User.Name, "\")
            Dim username As String = parts(1)
            Return username
        Else
            ' The application is using custom authentication.
            Return My.User.Name
        End If
    End Function

    Private Sub Step4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Code of Step3
        Dim URL As String = "http://skinsserver.exampleserver.com/skins.zip"
        Dim filename As String = "C:\Users\" + GetUserName() + "\AppData\Roaming\Applicationsettings\skins.zip"
        Using wc As New WebClient
            wc.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 (.NET CLR 3.5.30729)")
            wc.DownloadFile(URL, filename)
        End Using
    End Sub
End Class

我尝试了所有内容,但只有800字节的文件正在下载,而它是22 KB。

通过浏览器下载很好。

请帮忙!

谢谢!

3 个答案:

答案 0 :(得分:1)

您尝试下载的网址需要Cookie。

使用此:

wc.Headers.Add("Cookie", "__test=3c020c18923605cf39e4292d69038f3a")

答案 1 :(得分:0)

您可以尝试以下方法:

My.Computer.Network.DownloadFile(
"http://skinsserver.exampleserver.com/skins.zip",
"path_where_you_want_to_download")

请参阅https://docs.microsoft.com/en-us/dotnet/visual-basic/developing-apps/programming/computer-resources/how-to-download-a-file

答案 2 :(得分:0)

问题出在我的服务器上,我无法从此服务器下载文件。 对不起@Youssef13 - 即使使用cookie也无效。

以下是解决方案:http://vbcity.com/blogs/xtab/archive/2016/04/13/how-to-upload-and-download-files-with-ftp-from-a-vb-net-application.aspx

我使用FTP下载文件。