Ошибка при загрузке zip-файла с веб-сайта - PullRequest
0 голосов
/ 27 марта 2011

Я пытаюсь загрузить zip-файл с веб-сайта с помощью веб-клиента, но файл загружается неправильно.

Каждый раз, когда файл zip загружается без содержимого в каталоге назначения.

Ниже я вставляю код, который я использую:

Imports System.Net
Imports System.IO
Imports System.Collections.Generic
Imports System.Text
Imports System.Net.NetworkInformation
Imports System.Diagnostics


 Public Class Form1
Private Sub _DownloadProgressChanged(ByVal sender As Object, ByVal e As DownloadProgressChangedEventArgs)
    ' Update progress bar
    ProgressBar1.Value = e.ProgressPercentage
End Sub

Private Sub _DownloadFileCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.AsyncCompletedEventArgs)
    ' File download completed
    Button1.Enabled = Enabled
    MessageBox.Show("Download completed")
End Sub


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Button1.Enabled = False
    Dim ProcessingDate As Date = DateTime.Now
    Dim File2Download As String = "File Name To Be Downloaded.zip"
    Dim Url As String = "SourceURL" & File2Download 'http site
    Dim _WebClient As New System.Net.WebClient
    _WebClient.UseDefaultCredentials = True
    _WebClient.Headers("User-Agent") = "Mozilla/5.0 (compatible; MSIE 9.0; windows NT 6.1; WOW64; Trident/5.0)"
    _WebClient.Headers("Method") = "GET"
    _WebClient.Headers("AllowAutoRedirect") = True
    _WebClient.Headers("KeepAlive") = True
    _WebClient.Headers("Accept") = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
    AddHandler _WebClient.DownloadFileCompleted, AddressOf _DownloadFileCompleted
    AddHandler _WebClient.DownloadProgressChanged, AddressOf _DownloadProgressChanged
    _WebClient.DownloadFileAsync(New Uri(Url), "Destination Directory\" & File2Download)
End Sub
End Class

Любая помощь в этом отношении настоятельно рекомендуется.

1 Ответ

0 голосов
/ 15 января 2016

Ваш _WebClient.Headers("Accept") = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" подразумевает, что вы готовы принимать только документы html или xml ... вы можете изменить это, чтобы принимать файлы zip "application / zip, application / octet-stream"

...