如何获取登录用户的下载位置(C:\ Users \ {UserName} \ Downloads \)?

时间:2012-05-09 20:23:54

标签: c# asp.net iis-7.5 application-pool

当我在VS2010中运行应用程序时,它使用以下代码正确地将文件下载到C:\Users\{UserName}\Downloads文件夹。

string userDownloadFolder = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Downloads\\";

但是当我在IIS中托管应用程序时,它会转到C:\Users\.NET 4.0 App Pool\Downloads\

是的,应用程序池位于.NET 4.0 App Pool中。

如何通过在IIS中托管应用程序来获取登录用户的下载文件夹?

1 个答案:

答案 0 :(得分:1)

ASP.NET在服务器上运行,您在代码隐藏中执行的任何操作都指向服务器。当您在本地测试它时,您的计算机充当服务器,这就是您能够将文件下载到正确位置的原因。

您无法告诉客户端下载文件的位置。出于安全目的,故意限制访问客户端的文件系统。如果网站能够深入了解您的文件系统并选择下载文件的位置,您能想象安全风险吗?