如何覆盖下载的文件 vb.net

The*_*eep -1 vb.net

我正在制作一个自动文件下载器,当我按下按钮时,我需要它来重新下载和覆盖文件。

这是我的代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  My.Computer.Network.DownloadFile _
    ("http://www.randomurl.com/randomfile.txt", _
    Path.Combine(Environment.GetFolderPath( _
    Environment.SpecialFolder.ApplicationData), _
    "test/randomfile.txt"))
End Sub
Run Code Online (Sandbox Code Playgroud)

Ste*_*eve 5

DownloadFile有一个重载,允许覆盖以前的文件

 My.Computer.Network.DownloadFile 
       (address, destinationFileName, userName,
        password, showUI, connectionTimeout, overwrite)
Run Code Online (Sandbox Code Playgroud)

来自 MSDN

  • 地址 = 字符串或 Uri。要下载的文件路径,包括文件名和主机地址。必需的。
  • 目标文件名 = 字符串。下载文件的文件名和路径。必需的。
  • 用户名 = 字符串。要验证的用户名。默认为空字符串“”。
  • 密码 = String.Password 进行身份验证。默认为空字符串“”。
  • showUI = Boolean.指定是否显示操作进度。默认值为假。
  • 连接超时 = Int32。超时间隔,以毫秒为单位。默认值为 100 秒。
  • 覆盖 = 布尔值。指定是否覆盖现有文件。默认值为假。

因此,您可以通过这种方式更改代码

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  My.Computer.Network.DownloadFile _
    (address := "http://www.randomurl.com/randomfile.txt", _
    destinationFileName := Path.Combine(Environment.GetFolderPath( _
    Environment.SpecialFolder.ApplicationData), _
    "test/randomfile.txt"), _
    userName := string.Empty, password := string.Empty, _
    showUI := False, connectionTimeout := 100000, _
    overwrite := True)
End Sub
Run Code Online (Sandbox Code Playgroud)