【发布时间】:2008-09-24 05:49:50
【问题描述】:
好的,我的网络应用程序位于 C:\inetpub\wwwroot\website
我要链接的文件位于 S:\someFolder
我可以在 web 应用程序中创建一个指向 someFolder 中文件的链接吗?
【问题讨论】:
好的,我的网络应用程序位于 C:\inetpub\wwwroot\website
我要链接的文件位于 S:\someFolder
我可以在 web 应用程序中创建一个指向 someFolder 中文件的链接吗?
【问题讨论】:
如果它在服务器上的不同驱动器上,您需要在 IIS 中创建一个virtual directory。然后,您将链接到“/virtdirect/somefolder/”
【讨论】:
您必须通过您的网络服务器将其专门映射到某个 URL。否则,任何猜到 URL 的人都可以访问您的所有文件,而您不希望这样......
【讨论】:
您是否有另一个指向 s:\someFolder 的虚拟目录/应用程序?如果是这样,那只是一个简单的链接。
您是否正在尝试流式传输文件?如果是这样,请查看 Response.TransmitFile 和 Response.WriteFile。
否则,也许您可以创建一个处理程序 (.ashx) 来获取指定文件并将其内容流式传输回来?
【讨论】:
我认为只有两种方法 1)创建一个指向下载目录的虚拟路径 2) 调用您的 aspx/ashx 处理程序,在本地加载文件并将其发送到客户端。
【讨论】:
在操作系统级别而不是网络服务器级别工作的解决方案是创建符号链接。
文件链接为supported on Vista,Win2000 onwards 支持文件夹链接(“联结”)。
【讨论】:
这取决于您的网络服务器的配置。可能不是。您不希望 Web 服务器能够访问硬盘驱动器上的任何文件(即您的密码文件),因此只有那些在 Web 服务器的配置文件中配置为可访问的文件才能访问和链接。通常这些都保存在一个目录下。当然,您可以复制 someFolder 并将其放在您的 web 目录下,这样就可以访问它,或者如果您确定它是安全的,请更改您的 web 服务器的配置以允许访问该文件夹。
【讨论】: