【发布时间】:2021-09-29 03:01:10
【问题描述】:
我在 IIS 上托管一个 asp.net 网站,我创建了一个虚拟目录,该目录指向我存储文件的另一台服务器。
如果我输入浏览器网址,例如:
http://10.10.10.10/files/01/1111/name%20of%20file%20.pdf,文件打开。
如何使用 c# 读取文件
【问题讨论】:
我在 IIS 上托管一个 asp.net 网站,我创建了一个虚拟目录,该目录指向我存储文件的另一台服务器。
如果我输入浏览器网址,例如:
http://10.10.10.10/files/01/1111/name%20of%20file%20.pdf,文件打开。
如何使用 c# 读取文件
【问题讨论】:
这是如何工作的?
code behind = plane jane full windows path name.
任何网页 - 格式正确的 URL。
所以,您将该虚拟文件夹映射到一个平面简完全合法的 Windows 路径名。
因此,您的代码始终使用标准的 Windows 路径名。
因此,您必须将给定的 URL 路径名称转换为内部。
所以,假设你有这个:
http://10.10.10.10/files/01/1111/nameoffile.pdf
你就这样走了
string MyURL = "http://10.10.10.10/files/01/1111/nameoffile.pdf";
string MyWindowsFilePath = Server.MapPath(MyURL);
此时,MyWindowsFilePath 将是映射虚拟文件夹的完整平面简窗口路径名。
这样你就可以走了:
bytes[] MyBinFile;
MyBinFile = File.ReadBinaryFile(MyWindowsFilePath);
所以,一个简单的规则就是记住任何网页表达式——它们都是基于 URL 的。但是后面的任何代码都使用平面简窗口文件名 - 后面的代码与编写桌面代码并没有什么不同。
因此,Server.MapPath() 会将 URL 路径转换为该飞机简良好的老式 Windows 文件路径名。
【讨论】: