2017-08-29 118 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中的虚拟目录,以便网站将其视为相对于根目录,而实际上它位于其他位置。

相关问题