Member 10628309 Ответов: 1

Как перезаписать загруженный zip-файл и его распакованный файл


Я успешно загружаю сжатый CSV - файл из интернета. Я также могу распаковать его и сохранить в CSV - файл, а затем разобрать в гораздо меньший текстовый файл. Я хочу переписывать все три файла каждый раз, когда я вниз загружаю. Я вставляю дату, как вы можете видеть в имени файла, потому что имя файла содержит ежедневную дату. Поскольку файл меняется ежедневно, я хочу использовать последнюю версию. Вот мой код.

Try
            My.Computer.Network.DownloadFile(URL, "C:\Ra\List\ValidList" & myDate & ".zip", "", "", False, 1000, True)

        Catch
            MsgBox("You may not be connected to the Internet, Connect and try again")
            Exit Sub
        End Try
        Try
            Dim zipPath As String = "C:\Ra\List\ValidList" & myDate & ".zip"
            Dim extractPath As String = "C:\Ra\List"
            ZipFile.ExtractToDirectory(zipPath, extractPath)
        Catch ex As Exception
            MsgBox("The File may already exist...continue.")
        End Try


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

Что я уже пробовал:

Я попытался изменить последние три параметра в My.Computer.Сеть.Загрузка(URL, сохранение в имя файла, Параметр 1, параметр времени, параметр 2), но MSDN не говорит, какой параметр какой...т. е. просмотр хода загрузки или перезапись файла, и при тестировании я получаю противоречивые результаты.

CHill60

"MSDN" не говорит, какой параметр является каким... Я никогда раньше такого не видел. Поделитесь url - адресом документации

1 Ответов

Рейтинг:
1

Maciej Los

Цитата:
Я попытался изменить последние три параметра в My.Computer.Сеть.Загрузка(URL, сохранение в имя файла, Параметр 1, параметр времени, параметр 2), но MSDN не говорит, какой параметр какой...т. е. просмотр хода загрузки или перезапись файла, и при тестировании я получаю противоречивые результаты.


Документация MSDN доступна здесь: Сеть.Метод DownloadFile (Microsoft.VisualBasic.Devices) | Майкрософт Документы[^]

После завершения загрузки вы можете извлечь файлы в каталог, выполнить над ними несколько операций и снова заархивировать их. Видеть: Класс, Zip-Файл (Система.ИО.Сжатия) | Майкрософт Документы[^Там вы найдете примеры.

Что касается способа загрузки, то я бы рекомендовал использовать: служба WebClient.Метод DownloadFile (System.Net) | Microsoft Docs[^] и даже лучше служба WebClient.Метод DownloadFileAsync (System.Net) | Microsoft Docs[^] , потому что они более подходят.
Вы можете проверить ход загрузки, используя:
служба WebClient.Метод OnDownloadProgressChanged(DownloadProgressChangedEventArgs) (System.Net) | Microsoft Docs[^]
служба WebClient.Метод OnDownloadFileCompleted(AsyncCompletedEventArgs) (System.Net) | Microsoft Docs[^]

Если вы хотите загрузить обратно данные на сервер, используйте: служба WebClient.Метод UploadFile (System.Net) | Microsoft Docs[^] или служба WebClient.Метод UploadFileAsync (System.Net) | Microsoft Docs[^]

Удачи вам!