2013-08-28 53 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

是的,我寫了它未經測試,對不起。我會糾正錯別字... –