ASP.Net - 无法从Web应用程序访问下载文件夹
问题描述:
这涉及到我以前的帖子。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应用程序的环境中。
我有一些下载发生,内容将被下载到“下载”文件夹。 这就是为什么我需要“下载”文件夹。我需要访问该内容。 请帮我这个。
答
我更喜欢你允许用户使用savefileDialog框决定下载路径。并且默认情况下,如果用户下载,浏览器将询问位置以保存。
答
认为下载文件夹对系统中的每个用户都不同,因此您将获得c:\ users \ usera \ downloads和c:\ users \ userb \ downloads。所以当你的意思是下载时,你实际上是指不同的物理路径。
与此同时,您的ASP .NET应用程序(如果托管在IIS中)将模拟特定用户,因此请确保该用户对感兴趣的路径具有足够的权限。另外请考虑下载文件夹可能是Windows默认保护的文件夹,以防止跨帐户访问。
我认为你最好将文件保存到相对于你的网站根目录的特定文件夹中。否则,尝试将驱动器中的特定文件夹映射为IIS中的虚拟目录,以便网站将其视为相对于根目录,而实际上它位于其他位置。
您无法将Web应用程序“伸出”到用户本地机器中。想一想,如果可能的话,会产生哪些安全隐患?! – Alex
由于安全性和托管asp应用程序,您无法访问用户的本地文件夹,只能访问服务器的文件夹。如果你摆出任何可下载的文件,你不需要访问下载文件夹,否则你正在编写恶意软件 –
其实你**可以**做到这一点,但没有使用网站的本地文件夹的原因是什么? – SeM