2017-08-29 148 views
0

這涉及到我以前的帖子。ASP.Net - 無法從Web應用程序訪問下載文件夾

https://stackoverflow.com/questions/45937117/c-sharp-unbale-to-access- 
downloads-folder?noredirect=1#comment78832001_45937117 

我想要的是從ASP.Net Web應用程序訪問「下載」文件夾。

string pathUser = 
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile); 
string pathDownload = Path.Combine(pathUser, "Downloads"); 
string commentImagePath =pathDownload +"\\test.png"; 

然後我意識到上述代碼在桌面應用程序中起作用。 即UserProfile在「環境」中可用,但不在Web應用程序的環境中。

我有一些下載發生,內容將被下載到「下載」文件夾。 這就是爲什麼我需要「下載」文件夾。我需要訪問該內容。 請幫我這個。

+4

您無法將Web應用程序「伸出」到用戶本地機器中。想一想,如果可能的話,會產生哪些安全隱患?! – Alex

+0

由於安全性和託管asp應用程序,您無法訪問用戶的本地文件夾,只能訪問服務器的文件夾。如果你擺出任何可下載的文件,你不需要訪問下載文件夾,否則你正在編寫惡意軟件 –

+0

其實你**可以**做到這一點,但沒有使用網站的本地文件夾的原因是什麼? – SeM

回答

-2

我更喜歡你允許用戶使用savefileDialog框決定下載路徑。並且默認情況下,如果用戶下載,瀏覽器將詢問位置以保存。

0

認爲下載文件夾對系統中的每個用戶都不同,因此您將獲得c:\ users \ usera \ downloads和c:\ users \ userb \ downloads。所以當你的意思是下載時,你實際上是指不同的物理路徑。

與此同時,您的ASP .NET應用程序(如果託管在IIS中)將模擬特定用戶,因此請確保該用戶對感興趣的路徑具有足夠的權限。另外請考慮下載文件夾可能是Windows默認保護的文件夾,以防止跨帳戶訪問。

我認爲你最好將文件保存到相對於你的網站根目錄的特定文件夾中。否則,嘗試將驅動器中的特定文件夾映射爲IIS中的虛擬目錄,以便網站將其視爲相對於根目錄,而實際上它位於其他位置。

相關問題