2013-08-28 54 views
0

好吧,所以我一直在寻找年龄寻找这个,但没有运气。下载到本地根本目录

我使用:

Me.downloader.DownloadFileAsync(New Uri(fileUrl), Path.GetFileName(fileUrl), Stopwatch.StartNew) 

要下载文件,但是我希望它保存到我的程序中的一个叫做启动程序文件的根目录。

因此,例如,如果我的程序在桌面上,并打开它并单击开始,我希望它创建启动文件夹,如果它丢失,然后将文件下载到该文件中,如果不是,则只需将文件下载到它。

我一直在寻找代码,这将允许我这样做,我已经尝试了很多不同的东西。

目前,它只是保存在程序所在的根目录中。

谢谢。

+0

需要知道你使用的是什么操作系统以及如何安装该程序。较新的操作系统不允许在程序文件夹中写入,而是强制您写入应用程序的ProgramData文件夹或用户数据空间。这主要是因为应用程序不再像XP和Windows的早期版本那样具有管理访问权限。 –

+0

我正在制作一个vb.net程序,我使用的是Windows 7,程序应该可以在所有操作系统上运行。 –

+0

除非以管理员身份运行,否则Windows 7将不允许应用程序在程序目录中写入。 –

回答

0

尝试这样:

Dim baseDir As String = AppDomain.CurrentDomain.BaseDirectory 
Dim launcherDir As String = Path.Combine(baseDir, "Launcher") 

If Not Directory.Exists(launcherDir) Then 
    Directory.CreateDirectory(launcherDir) 
End If 

Dim targetFile = Path.Combine(launcherDir, Path.GetFileName(fileUrl)) 

Me.downloader.DownloadFileAsync(New Uri(fileUrl), targetFile, Stopwatch.StartNew) 
+0

甜,它的作品。非常感谢你。我假设你很快写了代码,因为有一些错误。你写了'Dim laucherDir,但是使用了变量'launcherDir',它让我一开始困惑,但后来我发现它是一个错字。另外创建不是目录的一部分,我不得不将其改为Directory.CreateDirectory。除此之外,这很好,谢谢你的时间。 –

+0

是的,我写了它未经测试,对不起。我会纠正错别字... –