如何将My.Computer.FileSystem.CurrentDirectory与My.Computer.Network.DownloadFile一起使用?

时间:2014-04-24 20:04:23

标签: vb.net

我试图像这样使用它:

Public Class Form1


Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    My.Computer.Network.DownloadFile(
        "http://magicalexample.com/multi.zip", "My.Computer.FileSystem.CurrentDirectory\multi.zip")
    Process.Start("cmd", "/k jar xf multi.zip")
    MsgBox("Done.")
End Sub
End Class

(注意:我搞砸了格式化,它在VB中是正确的,不要担心大声笑)

当我尝试使用更新按钮时,它告诉我destinationFileName需要包含文件名。他们不能在一起玩得好吗?

1 个答案:

答案 0 :(得分:1)

My.Computer.FileSystem.CourrentDirectory是一个变量,不会被神奇地解析为你的字符串。您需要将变量与文件位置连接起来:

My.Computer.Network.DownloadFile("http://magicalexample.com/multi.zip", My.Computer.FileSystem.CurrentDirectory & "\multi.zip")

或使用Path.Combine()方法合并目录加文件名:

My.Computer.Network.DownloadFile("http://magicalexample.com/multi.zip", Path.Combine(My.Computer.FileSystem.CurrentDirectory, "multi.zip"))

请注意,由于各种原因,您的示例无效。他们需要在他们面前的http://并且文件必须存在于源头(不能是404 Not Found错误)。此外,您发布的评论中的额外半冒号似乎表明它甚至不会编译,因此您可能正在运行以前的版本。我创建了一个新项目,并作为示例运行了此代码,该代码用于从主页面下载Google徽标。

My.Computer.Network.DownloadFile("https://www.google.com/images/srpr/logo11w.png", Path.Combine(My.Computer.FileSystem.CurrentDirectory, "logo.png"))