我正在尝试为用户创建一个导出功能,以便能够将文档下载到 zip 文件中。当文件位于我的本地时,我可以使用该功能,并且我可以在本地使用绝对路径。但在与基础架构团队交谈后,我发现这些文档并未与 Web 服务器存储在同一台机器上,而是位于异地的服务器场中。我可以查询给我一个文件路径的数据库。但路径更多的是相对路径。
所以任何人都可以帮助我了解如何使用 FileInfo 从另一台机器获取文件。我相信基础架构团队说外部服务器设置了一个虚拟驱动器。我能以某种方式使用虚拟路径吗?谢谢。
我正在尝试为用户创建一个导出功能,以便能够将文档下载到 zip 文件中。当文件位于我的本地时,我可以使用该功能,并且我可以在本地使用绝对路径。但在与基础架构团队交谈后,我发现这些文档并未与 Web 服务器存储在同一台机器上,而是位于异地的服务器场中。我可以查询给我一个文件路径的数据库。但路径更多的是相对路径。
所以任何人都可以帮助我了解如何使用 FileInfo 从另一台机器获取文件。我相信基础架构团队说外部服务器设置了一个虚拟驱动器。我能以某种方式使用虚拟路径吗?谢谢。
如果文件在您的 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。