【问题标题】:How to retrieve files/documents that are not found on the web server machine如何检索在 Web 服务器计算机上找不到的文件/文档
【发布时间】:2010-04-16 15:11:36
【问题描述】:

我正在尝试为用户创建一个导出功能,以便能够将文档下载到 zip 文件中。当文件位于我的本地时,我可以使用该功能,并且我可以在本地使用绝对路径。但在与基础架构团队交谈后,我发现这些文档并未与 Web 服务器存储在同一台机器上,而是位于异地的服务器场中。我可以查询给我一个文件路径的数据库。但路径更多的是相对路径。

所以任何人都可以帮助我了解如何使用 FileInfo 从另一台机器获取文件。我相信基础架构团队说有一个虚拟驱动器设置到外部服务器。我能以某种方式使用虚拟路径吗?谢谢。

【问题讨论】:

    标签: c# file directory virtual-directory


    【解决方案1】:

    如果文件在您的 LAN 或 VPN 上,您可以使用 UNC 路径。

    通常对于 UNC 路径,您将使用计算机的管理共享访问计算机的文件,如下所示:

    \\计算机名\c$

    您可以使用所有正常的文件 io 函数来处理 UNC 路径。如果由于需要身份验证而无法访问计算机,则应通过 DllImport 使用 Win32 API WNetUseConnection

    [DllImport("Mpr.dll")] private static extern int WNetUseConnection(
            IntPtr hwndOwner,
            NETRESOURCE lpNetResource,
            string lpPassword,
            string lpUserID,
            int dwFlags,
            string lpAccessName,
            string lpBufferSize,
            string lpResult
        );
    

    如果文件位于与您的网络不同的某台计算机上,那么您必须通过远程计算机上托管的某种服务器,例如 FTP 或 HTTP。

    【讨论】:

    • @Brian- 谢谢伙计,我想说这是一个 VPN。只要我能找到它的路径,我就会尝试一下,让你知道它是否有效。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2017-08-01
    • 1970-01-01
    • 2012-09-17
    • 2020-02-14
    相关资源
    最近更新 更多