从服务器托管应用程序时如何获取用户文件的本地桌面路径?



我正在尝试通过我的 .net 网站运行一个宏文件,该文件将出现在用户桌面中,因此我想知道如何在我的代码中获取该宏文件的路径并打开它。

我目前正在使用以下描述的代码来获取路径,我认为这一定是尝试从服务器计算机获取路径,但我想从用户计算机获取路径,这个特定的宏文件将打开 Internet Explorer 并导航到某个网站并将报告下载到本地计算机,因此我希望从用户端运行它。

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

是否可以自动获取路径,或者我应该从用户那里获取路径。 请提供建议。

您正在托管一个网站,该网站使用像 IIS 这样的 Web 服务器,并且用户使用 edge、chrome 等浏览器访问该网站,现在该文件位于用户桌面中,所以主要问题仍然存在,

浏览器进程是否有权访问用户的文件系统

大多数情况下没有,尤其是不是通过调用Environment.GetFolderPath(Environment.SpecialFolder.Desktop);,这将有利于在托管服务器上运行它,其中w3p.exe进程正在访问具有所需权限的文件系统

对于最终用户桌面

您需要提供文件对话框,让用户选择文件/目录,并需要计划将文件序列化到服务器(上传)以进行任何处理。您可以使用 protobuf、msgpack 等提供程序对文件进行二进制序列化,以实现必要的功能

您提供的代码适用于您直接控制的进程,例如Console, WPF,它在某些权限下在系统上运行,从而访问文件系统进行处理

最新更新